0

我的笔记本电脑上运行了一个 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 文件或数据库中的用户名、密码,但没有找到我的用例的示例。

有人可以指导我吗?

4

1 回答 1

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

于 2013-08-21T10:35:51.563 回答