给定logintoken的远程服务器的shiro身份验证

时间:2013-08-20 11:03:15

标签: nexus shiro

我的笔记本电脑上运行了一个nexus oss实例。我想要做的是,我将在发送到此nexus oss的请求中发送userlogintoken,并从nexus oss插件获取userlogintoken,然后针对在另一个框中运行的teamforge(我的应用程序名称)进行身份验证。

在nexus oss他们使用shiro。所以我也会在我的nexus插件中使用shiro来对teamforge进行身份验证。我不知道从哪里开始。我可以有一些可以独立运行的例子,它可以完成上面提到的任务,这样我就可以从那里开始了。

所以要求基本上是我需要将服务器url和userlogintoken提供给shiro,并且必须使用提供的logintoken提供的服务器URL进行身份验证。

我提到了一些搜索这种shiro示例的地方,因为我对shiro非常新,但我没有找到可以通过远程服务器URL(在我的情况下是teamforge url)进行身份验证的示例。从用户名,存储在ini文件或数据库中的密码进行身份验证的示例,但没有找到我的用例示例。

有人可以指导我吗?

1 个答案:

答案 0 :(得分:1)

尝试实施您自己的org.apache.shiro.realm.AuthorizingRealm,您可以通过Shiro.ini轻松配置它。您必须创建与ini文件中的属性同名的公共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

一些有用的链接:

https://www.google.sk/webhp?sourceid=chrome-instant&ion=1&ie=UTF-8#fp=5cd33cfa2e98ac64&q=custom%20realm%20shiro

http://shiro.apache.org/realm.html