【发布时间】:2012-03-08 01:40:52
【问题描述】:
我有一个使用 AD 身份验证和表单的 Intranet 应用程序,基于 http://support.microsoft.com/kb/326340。它(相对)工作正常,我启动应用程序并进入登录页面等。如果我为页面添加书签,关闭浏览器,打开一个新页面并选择书签,则会出现问题。它正确地进入指定返回 url 的登录页面,我登录并清除 id 和密码文本框,清除返回 url 文本并位于 login.aspx 等待我再次登录。当我这样做时,它会转到 default.aspx。 在 web.config 中,我将身份验证和授权设置为:
<authentication mode="Forms">
<forms name=".ADAuthCookie" loginUrl="Account/Login.aspx" defaultUrl="Default.aspx" timeout="5" />
</authentication>
<authorization>
<deny users="?"/>
<allow users="*"/>
</authorization>
在有login.aspx的文件夹中,我添加了一个web.config并将其设置为:
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
我没有使用登录控件,只有两个用于 ID 和密码的文本框和一个登录按钮,并在按钮单击时处理身份验证。 感谢您的帮助。
【问题讨论】:
-
当用户登录时,您是否使用 FormsAuthentication.RedirectFromLoginPage("username",true);?因为这应该会自动获取返回 url,让用户登录,然后重定向。
-
用户通过身份验证后,我使用以下内容:Response.Redirect(FormsAuthentication.GetRedirectUrl(sUserID, false))
-
我用你建议的 API 试过了,它仍然在做同样的事情。
-
我是问题!我正在检查母版页中的会话变量,因为它在第一次登录时尚未设置,它会将我再次发送回登录页面。
标签: asp.net authorization