• 单点登录


          百度百科上说:“单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。”

          不管是在手机应用还是互联网应用中,频繁的登录页面势必造成用户操作上的繁琐,用户体验度不高,造成用户的流失。而单点登录可以解决这个问题,用户一次登录,可全局运行。

          在各种应用上单点登录又有点不同,本文主要就传统web页面的单点登录和大数据方面的单点登录作简要介绍。

          web应用单点登录

          众所周知,每一个稍复杂web项目都不仅仅有一个页面,假设不支持单点登录,如果每切换一个页面都需要重新加载登录界面的话,这将是使得用户非常头疼的一件事。web实现单点登录方法比较简单,主要通过统一认证系统来实现。

    主要实现代码(可参考)

    package DesktopSSO;
     
    import java.io.*;
    import java.net.*;
    import java.text.*;
    import java.util.*;
    import java.util.concurrent.*;
     
    import javax.servlet.*;
    import javax.servlet.http.*;
     
     
    public class SSOAuth extends HttpServlet {
      
        static private ConcurrentMap accounts;
        static private ConcurrentMap SSOIDs;
        String cookiename="WangYuDesktopSSOID";
        String domainname;
      
        public void init(ServletConfig config) throws ServletException {
            super.init(config);
            domainname= config.getInitParameter("domainname");
            cookiename = config.getInitParameter("cookiename");
            SSOIDs = new ConcurrentHashMap();
            accounts=new ConcurrentHashMap();
            accounts.put("wangyu", "wangyu");
            accounts.put("paul", "paul");
            accounts.put("carol", "carol");
        }
     
        protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            PrintWriter out = response.getWriter();
            String action = request.getParameter("action");
            String result="failed";
            if (action==null) {
                handlerFromLogin(request,response);
            } else if (action.equals("authcookie")){
                String myCookie = request.getParameter("cookiename");
                if (myCookie != null) result = authCookie(myCookie);
                out.print(result);
                out.close();
            } else if (action.equals("authuser")) {
               result=authNameAndPasswd(request,response);
                out.print(result);
                out.close();
            } else if (action.equals("logout")) {
                String myCookie = request.getParameter("cookiename");
                logout(myCookie);
                out.close();
            }
        }
     
    .....
     
    }

          大数据应用中的单点登录

    大数据单点登录主要考虑单点登录的安全性,下边将简要介绍下大数据中的安全管理:安全管理主要分为用户管理,权限管理,单点登录等。

    对于用户管理,对用户安全管理需要对用户进行划分,然后根据一定的安全策略进行管理。

    对于权限管理,权限管理是用户进行系统权限划分和设置的平台,按照管理的层次可划分为三个层面进行管理,用户、角色和功能。为了满足系统对权限和安全管理方面的要求,系统的设计主要满足以下几个方面的需求:

    (1)      每个用户登录时,只要使用统一的登录名,就可以登录到各子系统中。

    (2)      满足用户和权限管理可配置性,可以将系统内各功能模块(目前指页面)灵活的划分给用户,使他们具有进行相应功能操作的权限。

    (3)      不同的权限可以看到不同的信息,权限高的可以看到权限低的信息,权限低的无法看到权限高的信息。

          对于单点登录,单点登录是一种用于方便用户访问网络的技术,当用户访问网络时,需要注重密码的安全性,为了安全考虑,注册多个网站时,不能采取单一的密码。无论采用哪种单一密码方式,都可能为企业、个人的网络和系统带来潜在风险。

          因此,在传统应用中实用的单点登录上升到大数据层次来看,是不适用的。

    本文出现的代码主要参考:http://www.blogjava.net/xcp/archive/2010/04/13/318125.html

    技术的天地,一起品味蓝天的味道。。。
  • 相关阅读:
    (转)Java 详解 JVM 工作原理和流程
    sql复杂查询语句总结
    公众平台服务号、订阅号、企业号的相关说明
    新公司注册流程
    认缴出资额和实缴出资额的区别
    ***iOS学习之Table View的简单使用和DEMO示例(共Plain普通+Grouped分组两种)
    APP后端处理视频的方案
    iOS应用程序生命周期(前后台切换,应用的各种状态)详解
    app后端搜索入门
    APP后端处理表情的一些技巧
  • 原文地址:https://www.cnblogs.com/chengdeboke/p/4189764.html
Copyright © 2020-2023  润新知