首页面试技巧面试中单点登录技巧

面试中单点登录技巧

huangp1489huangp1489时间2024-08-23 01:46:14分类面试技巧浏览10
导读:Java开发中有哪些登录方法?Java nginx是Java后台开发最常用最入门的技术吗?Java开发中有哪些登录方法?感谢邀请!这个问题我记得是我几年前一位面试官问过我的一个问题,当时技术还不够自信,有点懵。那么Java中具体有哪几种登录方法的实现呢?基本上就是您说的这两种:第一种简单的查询用户名密码并返回与……...
  1. Java开发中有哪些登录方法?
  2. Java nginx是Java后台开发最常用最入门的技术吗?

Java开发中有哪些登录方法?

感谢邀请

这个问题我记得是我几年前一位面试官问过我的一个问题,当时技术还不够自信,有点懵。那么J***a中具体有哪几种登录方法的实现呢?

基本上就是您说的这两种:第一种简单的查询用户名密码并返回与数据库对比实现登录,这种比较常见的登录方法的实现。第二种就是SSO(单点登录),只要登录一个系统就可以实现多个子系统无需再次输入密码直接登录实现的方法。

面试中单点登录技巧
(图片来源网络,侵删)

目前就是比较多的就是这两种,但是具体选择还是要根据实际应用场景去做。

J***a开发中随不同应用,有各种不同的登陆方法:

1、最简单的,通过用户和密码登录。

面试中单点登录技巧
(图片来源网络,侵删)

2、如果企业B端系统,用户需要登录很多个系统,每个系统都有每个系统的用户名和密码,他们很难记住,即使设置成相同的用户名和密码,但需要改密码的时候,每个系统都要修改,十分麻烦,这时,就需要实现单点登录。

3、如果在多租户系统中,如OFBIZ多租户系统,是从OFBIZ的单一副本运行的单独的数据实例的能力。每个数据实例保存在制定给租户的一个单独的数据库中。用户通过登录表单的形式制定租户ID登录到一个数据实例。必须进行多种配置才能使用OFBIZ多租户。这时,登陆不仅需要用户和密码,而且还需要TenantId,见下图

4、如果需要更加安全的登陆,比如各个银行的网银系统,税务的报税系统,需要用户本地安装有效地数字证书才能登陆。

面试中单点登录技巧
(图片来源网络,侵删)

5、区块链登陆,本质上也是***用数字证书的方式登陆。比如区块链钱包,需要澄清的是,区块链领域提到的钱包其实并不是装钱的钱包,而是装密钥(私钥和公钥)的工具,有了密钥就可以拥有相应地址上的数字货币的支配权。私钥:是对一个比特币地址拥有取钱权限的代表,掌握了私钥就掌握了其对应比特币地址上的所有生杀大权。私钥可以算出公钥,公钥可以再算出比特币地址。每次交易的时候,付款方必须出具私钥,以及私钥产生的签名,每次交易签名不同,但是由同一个私钥产生。私钥是一串。公钥:是和私钥成对出现的,公钥可以算出比特币地址,因此可以作为拥有这个比特币地址的凭证。比特币地址:如果说区块链是一个账本,比特币地址就是其中的账号。如果我们把比特币钱包简单比作成***账户的话,那么比特币钱包地址就可以看成是***账号。不同的是,比特币地址是可以不存储在网络上的,更是可以独立于你的钱包而存在的。

总之,根据不同的要求,可以***用不同的机制实现系统的登陆。


还可以开发来支持一个用户多设备登录。大体思路就是,系统使用token做用户凭证的情况下午,用户登录以后,登录信息存在缓存中,在后台可以管理,比如可以进行强制下线、踢出设备等操作。

J***a中的鉴权认证框架也不少:shiro、spring security、oauth等。

J***a nginx是J***a后台开发最常用最入门的技术吗?

01 结论

先说结论,你要研究J***a的框架解决工作问题,我推荐学习SpringBoot和Mybatis,比较简单易学;而且如果是一个并不太复杂的应用,这俩基本上也够用了(如果前后端不分离,这种情况下其实不需要Nginx也可以;模板引擎可以使用Thymeleaf,或者在有JSP的前提下使用JSP),服务器的话推荐最常使用的Tomcat;

当然,现在流行的还是微服务,不过开发起来稍微复杂些。微服务框架常见的有SpringCloud和Dubbo,推荐使用开发难度较小的Spring Cloud。Spring cloud也不是什么新的框架,它其实是一系列工具的***,基于的还是Spring Boot

然后再说说我理解的Nginx,Nginx仅仅是一个反向代理服务器,跟J***a本身是没有关系的,但如果你们使用前后端分离进行开发,Nginx还是很有必要使用的。它的反向代理可以解决最头疼的跨域问题,还支持高并发和负载均衡。

但Nginx的高并发只是说它本身能同时将将很多前端的请求进行处理和转发到真正的服务器(以下简称服务器),网站的性能最终还是要服务器的性能来决定。如果有必要,我习惯于在项目中使用下图所示的架构:

这个架构的思想在于,由于业务数据的大小通常小于页面静态***(js、图片等),且NodeJS在处理静态***的服务能力要强于Tomcat很多,所以***用NodeJS来作静态***服务器,使用J***a来做业务处理服务器使,然后用Nginx将静态***的请求和业务数据请求分开转发,用以获得较大程度的性能提升。

以上就是我的回答,欢迎大家在评论区讨论使用Nginx时遇到的坑。

[免责声明]本文来源于网络,不代表本站立场,如转载内容涉及版权等问题,请联系邮箱:83115484@qq.com,我们会予以删除相关文章,保证您的权利。转载请注明出处:http://www.wntfw.com/post/29148.html

登录可以比特
美团外卖兼职怎么样,美团外卖兼职怎么样?要交多少保证金 川沙兼职,川沙日结兼职