我对我的MVC 5应用程序使用ASPNET标识表。我们每天晚上对数据库进行“维护”。如果我们在该用户下修改了某些内容,我想要停用其当前会话,以便他们在Web应用程序中执行的下一个操作将会将它们踢回登录屏幕。身份验证/授权已经使用AspNet.Identity构建到我的应用程序中。我只需要通过设置一个标志来唤醒它,如果它存在。ASP.Net Identity从SQL注销
例如ASPNETUsers表有一个“非活动”列,但这太永久了。我正在寻找“ThisGuyIsLoggedIn”专栏。
这是接近同样的问题,但答案是从MVC内部管理它,这不是一个选项。
forcefully log out a specific user among all online users
一种可能的方法是让SQL服务器用用户ID调用您的MVC应用程序,然后您的MVC应用程序缓存要刷新的用户列表。这有可能吗? –
那么维护是用存储过程完成的。我不知道一个SQL存储过程可以调用MVC中的任何东西。但如果是这样的话,那是可能的。 – Rafiki
根据您是否启用了CLR集成等,有多种方式可以从SQL proc发出Web请求。这里是一个:http://stackoverflow.com/questions/9422914/calling-an-mvc3-action- from-a-sql-clr-stored-procedure这里是另一个:http://stackoverflow.com/questions/22067593/calling-an-api-from-sql-server-stored-procedure –