读书人

Forms验证角色授权无效?郁闷两天了,该

发布时间: 2012-01-09 21:05:41 作者: rapoo

Forms验证角色授权无效?郁闷两天了
角色授权的代码如下:

void Application_AuthenticateRequest(object sender,EventArgs e)
{
if (this.Request.IsAuthenticated)
{
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings[ "ServerGLKJConnectionString "].ConnectionString);
SqlCommand comm = new SqlCommand();
try
{
comm.Connection = conn;
comm.CommandText = "SELECT MemberInRole.RoleIndentifier FROM MemberInRole,Members where Members.MemberID=MemberInRole.MemberID AND Members.Email= ' "+User.Identity.Name.ToString()+ " ' ";
conn.Open();
SqlDataReader reader = comm.ExecuteReader();
StringCollection roles = new StringCollection();
while(reader.Read())
{
roles.Add(reader[0].ToString());
}
string[] rolesArr = new String[roles.Count];
roles.CopyTo(rolesArr, 0);
this.Context.User = new System.Security.Principal.GenericPrincipal(this.User.Identity, rolesArr);
}
catch (SqlException ex)
{
throw ex;
}
finally


{
conn.Close();
}
}
}

已经郁闷两天了,到网上找了好多资料,也没发现错误。登陆能成功,就是角色用不了。请大家年帮忙看看。

[解决办法]
断点看看是不是User.Identity.Name.ToString()没有取到值
再看看登录页面,有可能没有使用永久cookie

还有不要使用FormAuth....那个类的RedirectToFromPage那个方法跳转

单步仔细检查,我觉得应该是cookie的问题。

读书人网 >asp.net

热点推荐