首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

输入非登录页面,转到登录页面,阻止用户不登录访问其他页面解决方案

2012-01-13 
输入非登录页面,转到登录页面,阻止用户不登录访问其他页面我用的是表单验证的方法,我能实现页面的定位,现

输入非登录页面,转到登录页面,阻止用户不登录访问其他页面
我用的是表单验证的方法,我能实现页面的定位,现在的问题是我登录成功后还是定位在这个login.aspx页面,不知道在用户登录后是不是有个什么操作,来证明已经登录了,而不需要停留在login.aspx了,   请问这个怎么判断用户登录了,而不去停留在login.aspx中
<authentication       mode= "Forms ">          
                        <forms       name= "hrm2000 "       loginUrl= "login.aspx "/>      
</authentication>      
<!--           授权此节设置应用程序的授权策略。可以允许或拒绝用户或角色访问      
                  应用程序资源。通配符: "* "       表示任何人, "? "       表示匿名          
                (未授权的)用户。      
-->      
<authorization>      
<!--       <allow       users= "* "/>       -->          
              <deny       users= "? "/>
</authorization>

[解决办法]
Global.asax中

Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs)
Response.Redirect( "Login.aspx ")
End Sub
[解决办法]
可以通过cookie来判断
[解决办法]
首先你要允许Login.aspx页面任何人可以访问。

下面是我的代码。

/// <summary>
/// 发送窗体验证到浏览器
/// </summary>
/// <param name= "AuthName "> 用户名 </param>
private void SetCookies(string AuthName)
{
FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1,
AuthName,
DateTime.Now,
DateTime.Now.AddMinutes(30), // value of time out property
false, // Value of IsPersistent property
string.Empty,
FormsAuthentication.FormsCookiePath);
string encryptedTicket = FormsAuthentication.Encrypt(ticket);
HttpCookie authCookie = new HttpCookie(
FormsAuthentication.FormsCookieName,
encryptedTicket);
Response.Cookies.Add(authCookie);
}
用于发放Forms用户验证,可以适合你上面的条件。
[解决办法]
看看:

http://support.microsoft.com/kb/301240/zh-cn

[解决办法]
用Session
[解决办法]
PS:调用我那个函数即可实现登陆,用户名你自定义。

另外有roles这个功能,我尝试过,出于各种原因用不起来,所以不建议使用roles。
[解决办法]
FormsAuthentication.name==null

热点排行