单点登录,java实现

Python017

单点登录,java实现,第1张

可以直接通过玉符科技IDAAS平台来实现单点登录,支持所有的标准协议,如果是老旧或者自研的系统,也有SDK去适配所有的开发语言,不止是java。

玉符单点登录

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

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()

        }

    }

 

.....

 

}