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

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

2012-01-09 
Forms验证角色授权无效?郁闷两天了角色授权的代码如下:voidApplication_AuthenticateRequest(objectsender

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的问题。

热点排行