zoukankan      html  css  js  c++  java
  • 密钥

    package com.hanyixin.service;
    
    public interface SecurityService {
    
        //密钥提供者微服创建接口
        String getkey();
    }
    package com.hanyixin.service.impl;
    
    import java.util.Random;
    
    import org.apache.dubbo.config.annotation.Service;
    
    import com.hanyixin.service.SecurityService;
    
    @Service(interfaceClass = SecurityService.class)
    public class SecurityServiceImpl implements SecurityService {
        
        
        @Override
        public String getkey() {
            Random random = new Random();
            
            String s = "";
            //密钥提供者微服随机生成16位密钥字符串
            for (int i = 0; i < 16; i++) {
                char c = (char) ('a'+random.nextInt(26));
                s += c;
            }
            return s;
        }
    
    }
    package com.hanyixin.controller;
    
    import javax.servlet.http.Cookie;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import org.apache.dubbo.config.annotation.Reference;
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.ResponseBody;
    
    import com.hanyixin.service.SecurityService;
    
    @Controller
    public class SecurityController {
    
        @Reference
        SecurityService securityService;
        
        //密钥请求微服创建controller
        @RequestMapping("tojsp")
        public String tojsp() {
            //跳转到页面
            return "jsp";
        }
        
        //密钥请求微服的controller能够获取密钥
        @ResponseBody
        //加载时自动发送ajax请求
        @RequestMapping("getkey")
        public String getkey(HttpServletRequest request,HttpServletResponse response){
            String key = securityService.getkey();
            //将密钥存入localStorag或cookie中
            response.addCookie(new Cookie("mycookiekey",key));
            return key;
            
        }
    }
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <!-- 引入 css -->
    <link rel="stylesheet" type="text/css" href="/resource/bootstrap4/css/bootstrap.css">
    <!-- 引入js -->
    <script type="text/javascript" src="/resource/jquery/jquery-3.4.1.js"></script>
    <title>Insert title here</title>
    </head>
    <body>
    <script type="text/javascript">
    function getkey() {
            alert("准备获取key");
            $.post("getkey",{},function(data){
                alert("获取到的key是"+data);
            })
        }
        getkey();
    </script>
    </body>
    </html>
  • 相关阅读:
    [AHOI 2005]COMMON 约数研究
    [AHOI 2016初中组]迷宫
    [HNOI 2002]营业额统计
    [HAOI 2012]音量调节
    [HAOI 2010]软件安装
    [NOI 2015]荷马史诗
    浏览器同源政策
    docker 进程 转载:https://www.cnblogs.com/ilinuxer/p/6188303.html
    docker 进程 转载:
    redis 缓存问题,转载:https://www.cnblogs.com/liangsonghua/p/www_liangsonghua_me_22.html
  • 原文地址:https://www.cnblogs.com/liujinqq7/p/12846242.html
Copyright © 2011-2022 走看看