角色授权的代码如下: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();
}
}
}已经郁闷两天了,到网上找了好多资料,也没发现错误。登陆能成功,就是角色用不了。请大家年帮忙看看。
{
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();
}
}
}已经郁闷两天了,到网上找了好多资料,也没发现错误。登陆能成功,就是角色用不了。请大家年帮忙看看。
解决方案 »
- 传值问题。急急急。
- 请教如何使 数据按70个字切分开来,超过70汉字就变成两条短信
- Help!!!! 效果网址:http://93316.cn/test/
- 麻烦将以下asp程序转成.net
- 用户代码未处理OleDbException
- 怎么部署asp.net网站
- 如何用page.controls取得页面内的所有同一类型的控件如:都是textbox控件.
- 谁要能做出这个BS效果,那才叫牛,完全模仿CS程序。
- 交友网站经常提示×××正在浏览您的资料 是怎么实现的?
- 一个js文件加入项目后不能正常显示中文
- 在网页中嵌入的Media Player不能播放.rmvb格式的视频文件但.rm可以,是什么原因啊!
- 静态生成的问题
再看看登录页面,有可能没有使用永久cookie还有不要使用FormAuth....那个类的RedirectToFromPage那个方法跳转单步仔细检查,我觉得应该是cookie的问题。
我在登陆的时候确实是使用FormsAuthentication.RedirectFromLoginPage跳转的有什么问题吗?
有可能没有使用永久cookie,是什么意识呢?我怎么测试呢?