我试图让Sitefinity与MVC和JQuery移动合作,并且有很多问题.
当前的问题是,我需要让用户对访问应用程序的部分进行身份验证。此身份验证需要使用外部服务,登录到前端的用户将不在Sitefinity用户群中。我还需要有用户谁可以登录到后端更新内容,这些用户将由Sitefinity管理。
为了在MVC中保护页面,我在控制器上添加了一个授权属性。这需要确认前端的用户已经通过外部服务进行了身份验证,但仍然允许登录到后端的用户能够更新内容。
这是不工作的,当我点击页面的前端的授权属性,它试图带我去站点有限登录。有人找到办法让这件事成功了吗?
发布于 2013-12-18 21:03:00
好吧,我现在有办法了,但我不太兴奋.
我得到了Sitefinity支持的回复,并得到了几种不同的方法。
1)创建自己的自定义AuthorizeUser属性,在对cookie会话进行身份验证时保存值,在attribute...basically上检查该值,亲自重写所有身份验证功能。-我真的很想尽可能地保留身份验证功能,所以我不认为我会这样做。
2)创建自定义成员资格提供程序,将其作为有效的成员资格提供程序添加到Sitefinity后端。如果我想将用户存储在数据库中并验证/更新用户,这将是一个很好的解决方案。但是,我只对服务进行验证。
3)在Sitefinity后端创建一个虚拟用户,没有访问权限,也绝对没有后端访问或管理访问权限。在对我的服务进行身份验证之后,如果一切正常,那么从代码中登录到这个用户。在此之后,Authenticate属性会发现这个用户已经登录,所以一切都很好。由于我不需要在我的应用程序中检查角色或声明,只有用户登录,这可能会工作。这看起来相当丑陋,但我确信,只要用户没有后端访问或管理访问,它将不计同当前用户,许多用户可以作为同一个用户登录。
我将继续使用选项3,看看它是如何进行的,以及是否可以通过体系结构团队。
这是我找到选项3和更多信息的链接..。
http://www.sitefinity.com/developer-network/forums/sitefinity-sdk/custom-authentication
发布于 2013-12-11 07:21:09
詹姆斯!不确定,但我认为你的第三方服务应该使用Sitefintiy单一标志。
也许以下有关如何设置Sitefinity单点登录的帮助主题将有帮助:
http://www.sitefinity.com/documentation/documentationarticles/authentication-models-overview
https://stackoverflow.com/questions/20502088
复制相似问题