我的笔记本电脑上运行着一个nexus实例。我想做的是,我将在发送到这个nexus的请求中发送一个userlogintoken,并从nexus插件中获取userlogintoken,然后根据teamforge(我的应用程序名称)对其进行身份验证,teamforge运行在不同的机器上。
在nexus中,他们使用shiro。因此,我也将在我的nexus插件中使用shiro,它将对teamforge进行身份验证。我不知道该从何说起。我可以有一些可以独立运行的例子,可以完成上面提到的任务,这样我就可以从那里开始移动了。
因此,要求基本上是,我需要给服务器的url和用户登录令牌shiro,并必须使用提供的登录令牌提供的服务器url进行身份验证。
我参考了许多地方搜索这种shiro示例,因为我对shiro非常陌生,但我没有找到可以在给定远程服务器url (在我的例子中是teamforge url)的情况下进行身份验证的示例。.there是从用户名、存储在ini文件或数据库中的密码进行身份验证的示例,但没有找到我的用例的示例。
有没有人能给我带路?
发布于 2013-08-21 18:35:52
尝试实现您自己的org.apache.shiro.realm.AuthorizingRealm,您可以很容易地通过Shiro.ini对其进行配置。您必须创建与ini文件中的property同名的public getter/setter。
您需要实现protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken token)和protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals)方法。它们在currentUser.login(token)期间被调用。
Shiro.ini
customRealm= me.harish.shiro.realm.CustomRealm
customRealm.url = http://teamforge.com/?loginme
customRealm.apiKey = ABCD
customRealm.apiSecret = magic1
securityManager.realms= $customRealm一些有用的链接:
http://shiro.apache.org/realm.html
https://stackoverflow.com/questions/18333388
复制相似问题