我做了一个网站用的是基于窗体的验证然后在某一页中有个判断如果用户通过了验证显示当前用户的资料信息如果没通过验证就显示要求验证的信息(注意 不是要跳转 是在当前的页)也就是说通过验证页面显示一种状态,没通过显示另一种状态请问如何判断当前访问这页的用户是否已经通过了验证???

解决方案 »

  1.   

    不用判断 在webconfig 中写上
    <authorization> 
          <deny users="?"></deny>     
    </authorization>
      

  2.   

    为了给请求分配身份,ASP.NET提供了如下4种:
    1表单验证  通过它我们可以用HTTP cookies和HTML表单来对请求进行身份验证。我们可以针对任何资源验证身份
    2护照验证  使用MS专门的签名护照身份系统
    3Windows验证  通过它我们可以用Windows Challenge/Response语义来对请求进行身份验证。他是由服务器和请求者组成的,一开始服务器拒绝访问一个请求(一个询问),而请求者使用他们的Windows用户名/口令的一个散列值来响应的,这样服务器就可以选择这个散列值来进行身份验证和/或授权
    自定义验证 允许我们实施自己的验证系统
      

  3.   

    To:webserv2(New life New job)
    你还要把页面设置成protection="All"
      

  4.   

    To:webserv2(New life New job)
    你还要把页面设置成protection="All"
    =======================================
    ?????需要??
      

  5.   

    不必要。
    通过将mode设为Forms,我们可以定义表单验证的行为。
    使用cookie(即采用自定义的HTML Forms登录)要求的protection级别:All(默认的)它使用数据验证(基于<machineKey>元素)和加密(如果键码至少是48字节,则可以使用Triple DES)
      

  6.   

    我知道
    <authorization> 
          <deny users="?"></deny>     
    </authorization>
    就可以但我要的就是要判断因为如果按你说的那样只改webconfig 那这页就不能访问了吧但我还是要可以访问只不过这页的状态是没通过验证的状态
      

  7.   

    采取用户名/口令的验证存储在数据库中,编码实现在登陆页面中验证用户名/口令,并设立一个状态值state,每个页面的Page_Load()中检验该值,通过验证的state=true不显示“要求验证信息”,否则就显示。
    你看这种笨方法行不?
      

  8.   

    我想问问。NET中有没有自带的方法?像IsPostBack这样的自带的方法楼上的肯定可行但不是我想要的方法
      

  9.   

    if you did everything right, you should be able to useHttpContext.Current.User.Identity.IsAuthenticated
    http://www.codeproject.com/aspnet/rolesbasedauthentication.asp