我有一个问题,现在我通过forms验证生成了验证票,里面的用户名被自动保存了(加密的cookies)。那么我的用户权限怎么来保存呢?是保存在cookies中还是每次到数据库验证?我得想法是保存到cookies中,但是这样的话别人读取这个cookies可以读到明码(比如1,2,3)(如何加密这个cookies呢?)或者说有什么比较好的办法来管理权限?各位做的时候是把每个页面的名字保存到一张表里面然后对每个用户授予这些页面名的访问权限吗?或者是硬编码一段验证到页面(比如页面admin.aspx,我设置一个名字叫admin的权限才能访问他)多谢各位!

解决方案 »

  1.   

    试一下:把用户权限和用户名都一起保存在Cookies,Cookies 好像是已经加过密码了的吧!
    我是用下面的方法来实现的?
       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.   

    http://community.csdn.net/Expert/topic/3253/3253738.xml?temp=.1287195
      

  3.   

    http://www.microsoft.com/china/msdn/library/architecture/architecture/architecturetopic/BuildSucApp/BSAAsecmod03.mspx
      

  4.   

    1,11,12,13,14
    2,21,22,23,24
    3,31,32,33,34web1 权限1,11删除,12添加,13修改,14查询,15扩展!
    web2 权限1,21删除,22添加,23修改,24查询,25扩展!