一个采用form认证的web系统,需要让一些外部用户访问几个指定的页面,这些用户在系统中有帐号,但因为是外部用户,并且无需经常访问,不打算让他们通过用户名/密码的方式进行访问,想采取的方式时需要他们访问时,给他们发份mail,在mail中给出一个URL,他们可以通过这个URL访问指定的页面,但又需要区分是那个用户登录访问的(需要能够自动登录)。
请教:如何才能实现该功能?
我试过这种方式:将需要他们访问的页面设置为所有用户可以访问
在page_load中进行自动身份认证(口令和密码加密后包含在URL里)
Membership.ValidateUser
FormsAuthentication.RedirectFromLoginPage(username, True)  
但这里会自动跳转,我不能控制他转到什么页面去了。
这里我该怎么处理?

解决方案 »

  1.   

    Membership.ValidateUser//FormsAuthentication.RedirectFromLoginPage(username, True)  
    response.redirect()直接用这句不行吗?
      

  2.   

    mail里面的URL加一个参数,通过这个参数判断页面跳转方式。
    如:http://www.xxx.com/test.aspx?user=aaa&password=bbb&userType=ccc
      

  3.   

    to:sp1234(今天的我绝对不是明天的我。)
    我也不想这么做,你能给一个更好的建议吗。
    这个系统的一个页面需要供外部人员访问,需要根据不同的来访者显示不同的数据,所以我也给了他们帐号,但role单独设置的,是没权限范围其他页面的。之所以不直接用数据的ID判断,是因为不想让他们通过修改URL相互之间能够看到数据。另外我的还有时间控制加在里面,一定时间后这个url就失效了。to:  alamise(阿拉密斯) 
    用response.redirect(),不能用page.User.Identity进行判断了。to:  patrickpan(离别钩)
    你能详细说明一下吗?
      

  4.   

    关键还是你发的那个url,里面带用户类型用户名用户密码的参数不就可以了?如果你觉得不安全,可以在每次用户访问完成后,更改密码!