mirror of
https://gitee.com/dromara/MaxKey.git
synced 2025-12-07 01:18:27 +08:00
FormBasedDefaultAdapter
This commit is contained in:
parent
29566e64ed
commit
1a65b1059a
@ -47,6 +47,8 @@ public class AppsFormBasedDetails extends Apps {
|
||||
@Column
|
||||
private String passwordMapping;
|
||||
@Column
|
||||
private String passwordAlgorithm;
|
||||
@Column
|
||||
private String authorizeView;
|
||||
|
||||
|
||||
@ -123,7 +125,17 @@ public class AppsFormBasedDetails extends Apps {
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public String getPasswordAlgorithm() {
|
||||
return passwordAlgorithm;
|
||||
}
|
||||
|
||||
|
||||
public void setPasswordAlgorithm(String passwordAlgorithm) {
|
||||
this.passwordAlgorithm = passwordAlgorithm;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
StringBuilder builder = new StringBuilder();
|
||||
builder.append("AppsFormBasedDetails [id=");
|
||||
|
||||
@ -17,6 +17,8 @@
|
||||
|
||||
package org.maxkey.authz.formbased.endpoint.adapter;
|
||||
|
||||
import java.time.Instant;
|
||||
|
||||
import org.maxkey.authn.SigninPrincipal;
|
||||
import org.maxkey.authz.endpoint.adapter.AbstractAuthorizeAdapter;
|
||||
import org.maxkey.constants.Boolean;
|
||||
@ -43,34 +45,30 @@ public class FormBasedDefaultAdapter extends AbstractAuthorizeAdapter {
|
||||
modelAndView.setViewName("authorize/formbased_sso_submint");
|
||||
AppsFormBasedDetails details=(AppsFormBasedDetails)app;
|
||||
|
||||
modelAndView.addObject("username", details.getAppUser().getRelatedUsername());
|
||||
modelAndView.addObject("password", details.getAppUser().getRelatedPassword());
|
||||
|
||||
if(Boolean.isTrue(details.getIsExtendAttr())){
|
||||
modelAndView.addObject("extendAttr", details.getExtendAttr());
|
||||
modelAndView.addObject("isExtendAttr", true);
|
||||
}else{
|
||||
modelAndView.addObject("isExtendAttr", false);
|
||||
}
|
||||
String password = details.getAppUser().getRelatedPassword();
|
||||
if(null==details.getPasswordAlgorithm()||details.getPasswordAlgorithm().equals("")){
|
||||
}else if(details.getPasswordAlgorithm().indexOf("HEX")>-1){
|
||||
password = DigestUtils.digestHex(details.getAppUser().getRelatedPassword(),details.getPasswordAlgorithm().substring(0, details.getPasswordAlgorithm().indexOf("HEX")));
|
||||
}else{
|
||||
password = DigestUtils.digestBase64(details.getAppUser().getRelatedPassword(),details.getPasswordAlgorithm());
|
||||
}
|
||||
|
||||
modelAndView.addObject("id", details.getId());
|
||||
modelAndView.addObject("action", details.getRedirectUri());
|
||||
modelAndView.addObject("redirectUri", details.getRedirectUri());
|
||||
modelAndView.addObject("loginUrl", details.getLoginUrl());
|
||||
modelAndView.addObject("usernameMapping", details.getUsernameMapping());
|
||||
|
||||
String passwordAlgorithm=null;
|
||||
String passwordMapping=details.getPasswordMapping();
|
||||
if(passwordMapping.indexOf(":")>-1){
|
||||
passwordAlgorithm=passwordMapping.substring(passwordMapping.indexOf(":")+1).toUpperCase();
|
||||
details.setPasswordMapping(passwordMapping.substring(0, passwordMapping.indexOf(":")));
|
||||
}
|
||||
modelAndView.addObject("passwordMapping", details.getPasswordMapping());
|
||||
modelAndView.addObject("username", details.getAppUser().getRelatedUsername());
|
||||
modelAndView.addObject("password", password);
|
||||
modelAndView.addObject("timestamp", ""+Instant.now().getEpochSecond());
|
||||
|
||||
if(null==passwordAlgorithm){
|
||||
modelAndView.addObject("password", details.getAppUser().getRelatedPassword());
|
||||
}else if(passwordAlgorithm.indexOf("HEX")>-1){
|
||||
modelAndView.addObject("password", DigestUtils.digestHex(details.getAppUser().getRelatedPassword(),passwordAlgorithm.substring(0, passwordAlgorithm.indexOf("HEX"))));
|
||||
}else{
|
||||
modelAndView.addObject("password", DigestUtils.digestBase64(details.getAppUser().getRelatedPassword(),passwordAlgorithm));
|
||||
}
|
||||
if(Boolean.isTrue(details.getIsExtendAttr())){
|
||||
modelAndView.addObject("extendAttr", details.getExtendAttr());
|
||||
modelAndView.addObject("isExtendAttr", true);
|
||||
}else{
|
||||
modelAndView.addObject("isExtendAttr", false);
|
||||
}
|
||||
|
||||
if(details.getAuthorizeView()!=null&&!details.getAuthorizeView().equals("")){
|
||||
modelAndView.setViewName("authorize/"+details.getAuthorizeView());
|
||||
|
||||
@ -17,6 +17,8 @@
|
||||
|
||||
package org.maxkey.authz.formbased.endpoint.adapter;
|
||||
|
||||
import java.time.Instant;
|
||||
|
||||
import org.maxkey.authn.SigninPrincipal;
|
||||
import org.maxkey.authz.endpoint.adapter.AbstractAuthorizeAdapter;
|
||||
import org.maxkey.constants.Boolean;
|
||||
@ -44,28 +46,23 @@ public class FormBasedRedirectAdapter extends AbstractAuthorizeAdapter {
|
||||
modelAndView.setViewName("authorize/formbased_redirect_submint");
|
||||
AppsFormBasedDetails details=(AppsFormBasedDetails)app;
|
||||
|
||||
String password = details.getAppUser().getRelatedPassword();
|
||||
if(null==details.getPasswordAlgorithm()||details.getPasswordAlgorithm().equals("")){
|
||||
}else if(details.getPasswordAlgorithm().indexOf("HEX")>-1){
|
||||
password = DigestUtils.digestHex(details.getAppUser().getRelatedPassword(),details.getPasswordAlgorithm().substring(0, details.getPasswordAlgorithm().indexOf("HEX")));
|
||||
}else{
|
||||
password = DigestUtils.digestBase64(details.getAppUser().getRelatedPassword(),details.getPasswordAlgorithm());
|
||||
}
|
||||
|
||||
modelAndView.addObject("id", details.getId());
|
||||
modelAndView.addObject("action", details.getRedirectUri());
|
||||
modelAndView.addObject("redirectUri", details.getRedirectUri());
|
||||
modelAndView.addObject("loginUrl", details.getLoginUrl());
|
||||
modelAndView.addObject("usernameMapping", details.getUsernameMapping());
|
||||
|
||||
String passwordAlgorithm=null;
|
||||
String passwordMapping=details.getPasswordMapping();
|
||||
if(passwordMapping.indexOf(":")>-1){
|
||||
passwordAlgorithm=passwordMapping.substring(passwordMapping.indexOf(":")+1).toUpperCase();
|
||||
details.setPasswordMapping(passwordMapping.substring(0, passwordMapping.indexOf(":")));
|
||||
}
|
||||
modelAndView.addObject("passwordMapping", details.getPasswordMapping());
|
||||
|
||||
modelAndView.addObject("username", details.getAppUser().getRelatedUsername());
|
||||
if(null==passwordAlgorithm){
|
||||
modelAndView.addObject("password", details.getAppUser().getRelatedPassword());
|
||||
}else if(passwordAlgorithm.indexOf("HEX")>-1){
|
||||
modelAndView.addObject("password", DigestUtils.digestHex(details.getAppUser().getRelatedPassword(),passwordAlgorithm.substring(0, passwordAlgorithm.indexOf("HEX"))));
|
||||
}else{
|
||||
modelAndView.addObject("password", DigestUtils.digestBase64(details.getAppUser().getRelatedPassword(),passwordAlgorithm));
|
||||
}
|
||||
|
||||
modelAndView.addObject("password", password);
|
||||
modelAndView.addObject("timestamp", ""+Instant.now().getEpochSecond());
|
||||
|
||||
if(WebContext.getAttribute("formbased_redirect_submint")==null){
|
||||
modelAndView.setViewName("authorize/formbased_redirect_submint");
|
||||
|
||||
@ -320,6 +320,7 @@ apps.formbased.info=\u8868\u5355\u8ba4\u8bc1
|
||||
apps.formbased.redirectUri=\u8ba4\u8bc1\u5730\u5740
|
||||
apps.formbased.usernameMapping=\u767b\u5f55\u540d\u6620\u5c04
|
||||
apps.formbased.passwordMapping=\u767b\u5f55\u51ed\u8bc1\u6620\u5c04
|
||||
apps.formbased.passwordAlgorithm=\u5BC6\u7801\u7B97\u6CD5
|
||||
apps.formbased.authorizeView=\u8ba4\u8bc1\u89c6\u56fe
|
||||
apps.formbased.parameter=\u53c2\u6570
|
||||
apps.formbased.parameter.value=\u53c2\u6570\u503c
|
||||
|
||||
@ -325,7 +325,10 @@ apps.formbased.info=formbased Info
|
||||
apps.formbased.redirectUri=redirectUri
|
||||
apps.formbased.usernameMapping=usernameMapping
|
||||
apps.formbased.passwordMapping=passwordMapping
|
||||
apps.formbased.passwordAlgorithm=passwordAlgorithm
|
||||
apps.formbased.authorizeView=authorizeView
|
||||
apps.formbased.parameter=parameter
|
||||
apps.formbased.parameter.value=value
|
||||
|
||||
#cas
|
||||
apps.cas.info=CAS Info
|
||||
|
||||
@ -323,6 +323,7 @@ apps.formbased.info=\u8868\u5355\u8ba4\u8bc1
|
||||
apps.formbased.redirectUri=\u8ba4\u8bc1\u5730\u5740
|
||||
apps.formbased.usernameMapping=\u767b\u5f55\u540d\u6620\u5c04
|
||||
apps.formbased.passwordMapping=\u767b\u5f55\u51ed\u8bc1\u6620\u5c04
|
||||
apps.formbased.passwordAlgorithm=\u5BC6\u7801\u7B97\u6CD5
|
||||
apps.formbased.authorizeView=\u8ba4\u8bc1\u89c6\u56fe
|
||||
apps.formbased.parameter=\u53c2\u6570
|
||||
apps.formbased.parameter.value=\u53c2\u6570\u503c
|
||||
|
||||
@ -78,9 +78,10 @@ $(function(){
|
||||
<@locale code="apps.credential.system"/>
|
||||
<b class="orange">*</b><label for="credential"></label>
|
||||
</td>
|
||||
<th></th>
|
||||
<td>
|
||||
</td>
|
||||
<th><@locale code="apps.formbased.passwordAlgorithm"/>:</th>
|
||||
<td>
|
||||
<input type="text" class="form-control" id="passwordAlgorithm" name="passwordAlgorithm" title="" value=""/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><@locale code="apps.formbased.authorizeView"/>:</th>
|
||||
|
||||
@ -81,8 +81,9 @@ $(function(){
|
||||
</select>
|
||||
|
||||
</td>
|
||||
<th></th>
|
||||
<td >
|
||||
<th><@locale code="apps.formbased.passwordAlgorithm"/>:</th>
|
||||
<td>
|
||||
<input type="text" class="form-control" id="passwordAlgorithm" name="passwordAlgorithm" title="" value="${model.passwordAlgorithm!}"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
||||
@ -0,0 +1,22 @@
|
||||
<!DOCTYPE html>
|
||||
<html >
|
||||
<head>
|
||||
<title>Redirect Single Sign-On</title>
|
||||
<#include "authorize_common.ftl">
|
||||
<script type="text/javascript">
|
||||
function redirectToLogin(){
|
||||
window.top.location.href ="${redirectUri}&${usernameMapping}=${username}&${passwordMapping}=${password}×tamp=${timestamp}";
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body onload="redirectToLogin()" style="display:none">
|
||||
<form id="redirect_sso_form" name="redirect_sso_form" action="${redirectUri}" method="get">
|
||||
<table style="width:100%">
|
||||
<tr>
|
||||
<td colspan="2"><input type="submit" name="submitBtn" value="Continue..." /></td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
@ -11,7 +11,7 @@
|
||||
</head>
|
||||
|
||||
<body onload="redirectToLogin()" style="display:none">
|
||||
<form id="cas_sso_form" name="cas_sso_form" action="${redirect_uri}" method="get">
|
||||
<form id="redirect_sso_form" name="redirect_sso_form" action="${redirect_uri}" method="get">
|
||||
<table style="width:100%">
|
||||
<tr>
|
||||
<td colspan="2"><input type="submit" name="submitBtn" value="Continue..." /></td>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user