我有一个问题,现在我通过forms验证生成了验证票,里面的用户名被自动保存了(加密的cookies)。那么我的用户权限怎么来保存呢?是保存在cookies中还是每次到数据库验证?我得想法是保存到cookies中,但是这样的话别人读取这个cookies可以读到明码(比如1,2,3)(如何加密这个cookies呢?)或者说有什么比较好的办法来管理权限?各位做的时候是把每个页面的名字保存到一张表里面然后对每个用户授予这些页面名的访问权限吗?或者是硬编码一段验证到页面(比如页面admin.aspx,我设置一个名字叫admin的权限才能访问他)多谢各位!
解决方案 »
- dropdownlist样式一下子全变了,求指点
- vs2005,c#+asp.net做一个项目,要求用xml数据源,应该怎么做啊?
- 1.1中,我想获得ipconfig /all命令后返回的信息,该怎么做
- 请问大家现在是用table还是div做页面的
- 为什么"If Request.Cookies("CQC_UserLev").Value Is Nothing Then"语句无效?
- VS2005
- 新手提问:关于链接
- Web.config 的问题
- cy9.2.0.448 在vs.net2003 webapplication中试用手记
- 关于datagrid在page中居中显示的问题,很奇怪,在线等
- 文件上传错误!
- “未将对象引用设置到对象实例”错误?
我是用下面的方法来实现的?
if(rs.Read())
{
System.Web.Security.FormsAuthenticationTicket objticket; objticket=new FormsAuthenticationTicket(
1,
rs["username"].ToString(),
System.DateTime.Now,
System.DateTime.Now.AddHours(1),
false,
rs["ID"].ToString()
);
string encryptedticket=FormsAuthentication.Encrypt(objticket);
HttpCookie objcookie=new HttpCookie(FormsAuthentication.FormsCookieName,encryptedticket);
Response.Cookies.Add(objcookie);
rs.Close();
Conn.Close();
string strretrunurl;
strretrunurl=Request.Params["ReturnURl"];
Response.Redirect(strretrunurl);
}
2,21,22,23,24
3,31,32,33,34web1 权限1,11删除,12添加,13修改,14查询,15扩展!
web2 权限1,21删除,22添加,23修改,24查询,25扩展!