每一个不同的站点都有自己的验证,你不能再一个站点输入用户帐号去访问另外一个站点,即使是ms passport这样的服务,也还需要使用passport service。如果这些站点都是你自己的站点,那么你可以编写一个类似passport service的服务,不过难度比较大。

解决方案 »

  1.   

    我的意思是怎样使用ASP.NET完成IIS的认证——就是ASP.NET程序在域中确认我的用户名密码,并且让IIS的应用程序副本在我的用户空间内运行,仅遵守系统对我而不是IUSR_xxx的权限要求。说白了就是自制界面替代IE的UESRNAME: PASSWORD: DOMAIN:  OK CANCEL对话框。
      

  2.   

    在web.config中设置你的验证方式为Forms就可以了。
    <authentication mode="Forms">
    <forms name=".ASPNET" protection="All" timeout="60" />
    </authentication>
    name的值可以自己设定。
    然后根据web.config文件中的提示,设置<authorization>节来限制用户的访问权限,如何设置参见msdn帮助文档。
      

  3.   

    对了,你可以在<authentication>中指定登陆的页面url。
      

  4.   

    具体情况是这样的:有两个网A和B,其中B网站在IIS被设为不允许匿名访问,并使用WINDOWS验证;A网站允许匿名登录,使用数据库+C#+Session来进行验证。A中有一个链接转道B网站,我希望用户在A网站中登录后,再通过该链接访问B网站的时候,就不要再弹出一个WINDOWS的登录窗口,直接使用在A网站的登录信息登录B网站。
    注:1、B网站与A网站在同一台主机里;
        2、B网站不是ASP.NET程序,只是使用IIS的windows进行登录验证
        3、假设A网站与B网站具有相同的用户,即其用户名和密码相同请高手们多多帮忙
      

  5.   

    对于WINDOWS基本验证,在客户端构建请求的HTTP HEAD就可以了直接进入了。
      

  6.   

    直接在IIS里边设置就行了吧。
      

  7.   

    用xmlhttp在客户端登陆b站点在a站点登录成功后
    string user=txtUser.Text.Trim();
    string pwd=txtPWD.Text.Trim();
    string url="b 登录地址";
    string defaultPage="b 首页地址";
    string script="function login(user,pwd) {var objXMLHttp=new ActiveXObject(\"msxml2.xmlhttp\");var url=\""+url+"\""+'+'+"user; objXMLHttp.open(\"GET\",url,false,user,pwd); objXMLHttp.send(\"\");}try{login(\""+user+"\",\""+password+"\");window.top.location.href='"+defaultPage+"';}catch(e){alert(e.message);}";
    Page.RegisterClientScriptBlock("login","<script>"+script+"</script>");
      

  8.   

    哦,应该是
    string password=txtPWD.Text.Trim();