当前位置:网站首页 > Java教程 > 正文

java认证代码教程



package com.abc.demo.general.jaas; import javax.security.auth.Subject; import javax.security.auth.callback.*; import javax.security.auth.login.LoginException; import javax.security.auth.spi.LoginModule; import java.io.IOException; import java.security.Principal; import java.util.Map; public class MyLoginModule implements LoginModule { private Subject subject; private CallbackHandler callbackHandler; private Principal principal; @Override public void initialize(Subject subject, CallbackHandler callbackHandler, Map<String, ?> sharedState, Map<String, ?> options) { this.subject = subject; this.callbackHandler = callbackHandler; } / * 登录 */ @Override public boolean login() throws LoginException { try { NameCallback nameCallback = new NameCallback("user: "); PasswordCallback passwordCallback = new PasswordCallback("password: ", true); Callback[] callbacks = new Callback[] { nameCallback, passwordCallback}; callbackHandler.handle(callbacks); String username = nameCallback.getName(); String password = new String(passwordCallback.getPassword()); return login(username, password); } catch (IOException e) { e.printStackTrace(); } catch (UnsupportedCallbackException e) { e.printStackTrace(); } return false; } private boolean login(String username, String password) { System.out.println("username=" + username + ",password=" + password); //实际使用中应查数据库验证用户名密码 if ("abc".equals(username) && "".equals(password)) { principal = new MyPrincipal(username); subject.getPrincipals().add(principal); return true; } return false; } / * 登录成功后的操作 */ @Override public boolean commit() throws LoginException { return true; } //中断登录  @Override public boolean abort() throws LoginException { return logout(); } @Override public boolean logout() throws LoginException { if (subject != null && principal != null) { subject.getPrincipals().remove(principal); } return true; } }

  • 上一篇: java85教程
  • 下一篇: 兵java教程
  • 版权声明


    相关文章:

  • java85教程2025-01-01 17:18:05
  • java权限系统教程2025-01-01 17:18:05
  • java swing教程视频2025-01-01 17:18:05
  • java三运算教程2025-01-01 17:18:05
  • java类库制作教程2025-01-01 17:18:05
  • 兵java教程2025-01-01 17:18:05
  • java框架教程 知乎2025-01-01 17:18:05
  • 赵芳java教程2025-01-01 17:18:05
  • 扫雷游戏java教程2025-01-01 17:18:05
  • java教程.chm2025-01-01 17:18:05