0

在我的应用程序中,可以使用存储在数据库中的登录名/密码或使用其数字证书对用户进行身份验证。

在这两种方式中,如果登录成功,则会创建一个 cookie 并将其关联到用户。

FormsAuthentication.SetAuthCookie(model.UserName, false);
return RedirectToAction("Index", "Home");

我需要这个与众不同。如果用户使用其数字证书登录,我想检查证书是否存在,否则会引发错误。

这个概念是如果证书不存在,这是因为用户已经离开,所以什么也做不了。

这很难做到吗?

4

1 回答 1

0

我找到了一个简单的解决方案。

在 IIS 上,有一种方法可以在站点高级设置中设置连接超时。它是连接在断开之前可以保持非活动状态的时间段(以秒为单位)。

单击站点节点,在操作窗格中单击高级设置,单击连接限制上的 + 并将连接超时(秒)设置为您认为相关的时间段。

我设置为1;现在基本上每次用户调用一个动作时,它都会检查证书。如果它在那里,应用程序将正常继续。

它对我有用,因为数字证书是必需的。对于那些具有正常登录/密码表单验证的用户,您需要找到更好的方法,否则用户将始终被重定向到登录页面。

于 2013-01-23T16:33:35.330 回答