注册 登录
编程论坛 ASP.NET技术论坛

登陆问题

刘小芳 发布于 2007-05-04 20:59, 725 次点击
其中有一段
public void Application_AuthenticateRequest(object sender, EventArgs e)
{
if (this.Request.IsAuthenticated)
{
//这里简化了操作,可以从数据库中获得角色信息用以构造rolesStrArr数组。作为示例,我们为除了a之外的用户分配了管理员角色
string[] rolesStrArr;
if (this.Context.User.Identity.Name == "a")
{
rolesStrArr = new string[]{"普通用户"};
}
else
{
rolesStrArr = new string[]{"普通用户","管理员"};
}
this.Context.User = new System.Security.Principal.GenericPrincipal(this.User.Identity, rolesStrArr);
}
}
我数据库中的帐号表把所有帐号分为3种权限,代号分别为1,2,3,我想问一下怎么从数据库中获得角色信息用以构造rolesStrArr数组啊,我想了半天还是不懂 ,谁能帮我想想啊,就用上面那种方法
12 回复
#2
刘小芳2007-05-04 21:00
这是高手铲铲发的代码,我想问问怎么变成我想要的那种啊
#3
IPV62007-05-04 22:23
if (this.Context.User.Identity.Name == "?")//把a改成你的1,2,3不就行了,当然判断要改变.
{
rolesStrArr = new string[]{"普通用户"};
}
else
{
rolesStrArr = new string[]{"普通用户","管理员"};
}
this.Context.User = new System.Security.Principal.GenericPrincipal(this.User.Identity, rolesStrArr);
}
}
#4
刘小芳2007-05-05 07:56

1,2,3只是3种权限标记,就是用户表里有很多用户,但只有3种标记,就是分为3类,是想问怎么写出来,楼上的那样改好象不行吧

#5
求学boy2007-05-05 10:55
你的数据库怎么建的呀`!
你的用户表里应该有一个身份ID把 它里面有1,2,3分别表示三种身份(当然肯定的有个身份表)
从数据库读出来判断不就行了吗
#6
刘小芳2007-05-05 13:48

用的 SQL建的用户表,我就是不知道怎么写从数据库里把三种身份分别读出来,谁能帮我写出来啊

#7
川流不息2007-05-05 16:13
你這樣問不好,應該自己想辦法去讀出來。因為方向已經給你寫出來了。如果要別人寫出來那你來干啥的?不是來增加自己的知識,來解決問題的嗎?還是只是讓別人幫你做呢?
你的身份是不是放在另一個表裡面,然後與用戶表相關聯?
你用SQL語句把用戶名、密碼和用戶的身份的代號(用join直接把身份表的相對應的身份查出來)查出來後,驗證完,然後你根本這第三個字段的值去判斷就行了。
#8
刘小芳2007-05-05 18:34

嘿嘿,是在同一张表里面,我自己再去试试,我是试了半天没试出来才来问的

#9
川流不息2007-05-05 18:37

你先用SQL查到那個身份的值,這應該可以做到吧?查到以後就一切OK,自己判斷。

#10
刘小芳2007-05-06 20:07

搞了2天,还是没搞出来,我哭了

#11
川流不息2007-05-06 21:37
暈哦,你把你的代碼發上來我們幫你看看。
#12
tel19822007-05-07 10:24
那代码上来吧
#13
刘小芳2007-05-07 19:36
我用了另外一种方法,在操作员录入数据的页面加了个2级密码,这样就比较另类的把这个问题解决了,狂寒中`````````
1