为什么80%的码农都做不了架构师?>>>   

调用容器来做认证,我这边搞不定。 建议你们这边还是调用我们提供的接口来做。如果你们坚持想调用使用容器来做认证,可以参考下面方法。
找了一段调用tomcat6容器做认证的方法,但是只支持tomcat6,不怎么适用。其他版本都不怎么支持authenticate这个方法,如果你们这边还需要用下面方式,这个需要你们自己去研究了。
public boolean authenticate(String user, String pwd,HttpServletRequest request, HttpServletResponse response) {try{Class<?> clz = Class.forName("org.apache.catalina.ServerFactory");Method getServerMethod = clz.getMethod("getServer", new Class[]{});Object server = getServerMethod.invoke(clz, new Object[]{});Class<?> serverClz = server.getClass();Method findServiceMethod = serverClz.getMethod("findService", new Class[]{String.class});Object service = findServiceMethod.invoke(server, new Object[]{"Catalina"});Class<?> serviceClz = service.getClass();Method getContainerMethod = serviceClz.getMethod("getContainer", new Class[]{});Object container = getContainerMethod.invoke(service, new Object[]{});Class<?> containerClz = container.getClass();Method getRealmMethod = containerClz.getMethod("getRealm", new Class[]{});Object realm = getRealmMethod.invoke(container, new Object[]{});Class<?> realmClz = realm.getClass();Method authenticateMethod = realmClz.getMethod("authenticate", new Class[]{String.class,String.class});Object principal = authenticateMethod.invoke(realm, new Object[]{user,pwd});if(principal == null){return false;}return true;}catch(Throwable e){LoggerUtil.info("authenticate exception:" + e.getMessage(),e);return false;}}
Weblogic 登录认证
Object result = null;try {// 5、授权认证,登录的是虚拟用户,而不是umCode// weblogic10版本升级,weblogic.servlet.security.ServletAuthentication.login方法在wls8和wls10下参数个数不一样,需做反射处理// 待weblogic8环境下线以后,该方法需修改成weblogic8方法的判断Method meth = null;try {meth = Object.class.forName("weblogic.servlet.security.ServletAuthentication").getMethod("login",new Class[] { java.lang.String.class,java.lang.String.class,HttpServletRequest.class,HttpServletResponse.class });if (meth == null) {meth = Object.class.forName("weblogic.servlet.security.ServletAuthentication").getMethod("login",new Class[] { java.lang.String.class,java.lang.String.class,HttpServletRequest.class });if (meth != null) {result = meth.invoke(Object.class.forName("weblogic.servlet.security.ServletAuthentication"),new Object[] { v_userName, v_passWord,request });}} else {result = meth.invoke(Object.class.forName("weblogic.servlet.security.ServletAuthentication"),new Object[] { v_userName, v_passWord,request, response });}} catch (Exception e) {logger.info(e.getMessage(), e);meth = Object.class.forName("weblogic.servlet.security.ServletAuthentication").getMethod("login",new Class[] { java.lang.String.class,java.lang.String.class,HttpServletRequest.class });if (meth != null) {result = meth.invoke(Object.class.forName("weblogic.servlet.security.ServletAuthentication"),new Object[] { v_userName, v_passWord,request });}}} catch (Exception e) {logger.info(e.getMessage(), e);throw new ServletException(e.getMessage());}// 0:用户正常登陆 1:用户登陆失败if (result != null && result instanceof Integer) {if (((Integer) result).intValue() != 0) {logger.info(LOGIN_FAIL);throw new ServletException(LOGIN_FAIL);}} else if (result == null) {logger.info(LOGIN_FAIL);throw new ServletException(LOGIN_FAIL);}

转载于:https://my.oschina.net/thc/blog/484526

Weblogic以及Tomcat登录认证相关推荐

  1. mod_authn_dbd和mysql_使用Apache的mod_authn_dbd和PostgreSQL实施HTTP Basic登录认证

    [STEP1] 使用PostgreSQL的客户端pgAdmin登录数据库,做成用户认证表.字段名和表名任意,如 1 CREATETABLEusrinfo2 (3 useridcharactervary ...

  2. jwt认证机制优势和原理_微服务统一登录认证怎么做?JWT?

    无状态登录原理 1.1.什么是有状态? 有状态服务,即服务端需要记录每次会话的客户端信息,从而识别客户端身份,根据用户身份进行请求的处理,典型的设计如tomcat中的session. 例如登录:用户登 ...

  3. MaxKey单点登录认证系统 v2.4.0 RC

    介绍: MaxKey(马克思的钥匙)用户单点登录认证系统(Sigle Sign On System),寓意是最大钥匙,是业界领先的企业级IAM身份管理和身份认证产品,支持OAuth 2.0/OpenI ...

  4. Linux 搭建NodeBB社区,搭建CAS登录认证平台,实现Nodebb接入企业CAS认证(一)

    一,搭建Nodebb社区 1,安装编译环境nodejs,npm安装后版本号如下(同时得安装redis, git常用开发软件): 2,下载nodebb代码 git clone git://github. ...

  5. MaxKey单点登录认证系统v3.5.2GA发布

    ​ English | 中文 概述 MaxKey单点登录认证系统,谐音马克思的钥匙寓意是最大钥匙,是业界领先的IAM身份管理和认证产品,支持OAuth 2.x/OpenID Connect.SAML ...

  6. CAS统一登录认证(1):系统安装

    这一周在研究cas统一登录认证系统,参考网上大量文章,基本调试可用了,做个笔记. 安装环境:ubuntu16.04  +  mysql5.7.23 + java1.8.0_181 + maven3.5 ...

  7. 单点登录认证系统 MaxKey v 2.3.0GA发布

    MaxKey(马克思的钥匙)单点登录认证系统(Single Sign On System),寓意是最大钥匙,是业界领先的企业级IAM身份管理和身份认证产品,支持OAuth 2.0/OpenID Con ...

  8. APP的登录认证与安全

    一.登录机制 粗略地分析, 登录机制主要分为登录验证.登录保持.登出三个部分.登录验证是指客户端提供用户名和密码,向服务器提出登录请求,服务器判断客户端是否可以登录并向客户端确认. 登录认保持是指客户 ...

  9. 基于jwt的用户登录认证

    最近在app的开发过程中,做了一个基于token的用户登录认证,使用vue+node+mongoDB进行的开发,前来总结一下. token认证流程: 1:用户输入用户名和密码,进行登录操作,发送登录信 ...

最新文章

  1. 视频互动直播软件开发中的连麦问题分析
  2. php无限极分类并添加指定值,PHP实现无限极分类的两种方式,递归和引用
  3. 前端性能优化之--页面渲染优化全面解析
  4. 元宇宙iwemeta:互联网行业年底清算,税收优惠门槛抬高,阿里巴巴多交41亿税款
  5. 【CyberSecurityLearning 42】日志记录规则
  6. [源码和文档分享]基于C++实现的运动会统分系统
  7. BASIC-12 十六进制转八进制
  8. P4383 [八省联考 2018] 林克卡特树(wqs二分、树形dp)
  9. activemq 内存_ActiveMQ中的温度,存储和内存使用百分比
  10. 在使用Gradle构建的Spring Boot应用程序中覆盖Spring Framework版本
  11. 数据库抽象类PDOStatement对象使用
  12. 项目构建之springboot集成lomback.xml,和log4j基于properties方式的日志配置记录
  13. stanford NLP学习笔记3:最小编辑距离(Minimum Edit Distance)
  14. Spring MVC-学习笔记(1)认识spring mvc
  15. linux通过端口测试网速,【转】Linux下测试网速的工具
  16. excel删除行闪退_excel打开闪退解决 打开excel自动退出 自动关闭的解决
  17. VS2017好看的字体设置,VS字体设置
  18. redhat指定ntp服务器,redhat 6.3 ntp 服务器
  19. php获取应用宝app下载连接
  20. Qt 实现录音在线转文字

热门文章

  1. oracle基础学习---------1
  2. Set和Map集合的比较
  3. (二)stm32之中断配置
  4. How to install OpenERP 6 on Ubuntu 10.04 LTS Server--1
  5. Windows Phone 7 XNA触控操作之Gestures
  6. JAVA大厂高频面试题及答案
  7. js 动态生成html(js根据后台返回数据生成html页面中的table标签)(转义字符)
  8. 如何在支付宝成为增加个人服务器,支付宝支付,服务器如何生成支付订单
  9. 为什么说Pravega是流处理统一批处理的最后一块拼图?
  10. 解决数据库报唯一性约束错误的实践