我的笔记本电脑上运行了一个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文件或数据库中的密码进行身份验证的示例,但没有找到我的用例示例。
有人可以指导我吗?
答案 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
一些有用的链接: