日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Springboot2.1.6集成activiti7出現(xiàn)登錄驗(yàn)證的實(shí)現(xiàn)

瀏覽:36日期:2023-04-01 10:37:44
一、問(wèn)題

Spring2.1.5集成activiti7.1.24時(shí)訪(fǎng)問(wèn)要輸入用戶(hù)名和密碼。

@Autowired private ProcessRuntime processRuntime; /** * 啟動(dòng)任務(wù) */ @Test void startProcess(){ /** * 流程變量 * 給<userTask name='請(qǐng)假申請(qǐng)' activiti:assignee='#{student}'></userTask> * 的student賦值 */ HashMap<String, Object> variables = new HashMap<>(); // String username = SecurityUtils.getNickName(); String username = '小王'; variables.put('staff', username); ProcessInstance processInstance = processRuntime.start(ProcessPayloadBuilder.start().withProcessDefinitionKey('baoxiao').withName('報(bào)銷(xiāo)測(cè)試')//.withBusinessKey(id)// .withVariable('deptLeader', join).withVariables(variables).build()); System.out.println(processInstance.getId()); }

在單元測(cè)試中測(cè)試Activiti框架,出現(xiàn)如下的異常:

org.springframework.security.authentication.AuthenticationCredentialsNotFoundException: An Authentication object was not found in the SecurityContext

at org.springframework.security.access.intercept.AbstractSecurityInterceptor.credentialsNotFound(AbstractSecurityInterceptor.java:379)at org.springframework.security.access.intercept.AbstractSecurityInterceptor.beforeInvocation(AbstractSecurityInterceptor.java:223)at org.springframework.security.access.intercept.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:65)...at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33)at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:220)at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:53)

其余的方式大家如果試過(guò)成功就可以了,如果不行,可試下這個(gè):取消登錄驗(yàn)證如下:

@SpringBootApplication( exclude = {org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration.class,org.springframework.boot.actuate.autoconfigure.security.servlet.ManagementWebSecurityAutoConfiguration.class })

這是我在別人那找來(lái)的,困了我好長(zhǎng)時(shí)間,知道看到這個(gè)東西。

二、新版驗(yàn)證

其實(shí)這個(gè)都很簡(jiǎn)單,但是我看了不少博客下的評(píng)論都說(shuō)按照這個(gè)方式剔除了,但是還是不行

An Authentication object was not found in the SecurityContext

當(dāng)我們自信的對(duì)著接口發(fā)起請(qǐng)求的時(shí)候,報(bào)了瀏覽器出現(xiàn)了500,控制臺(tái)報(bào)出上面的異常,中文意思:在SecurityContext中沒(méi)有找到身份驗(yàn)證對(duì)象

why? 我明明已經(jīng)剔除了啊,為什么還是要驗(yàn)證身份?

到底是哪里出了問(wèn)題?想不明白!

如果上上面的問(wèn)題,你只需要使用,老的API即可,因?yàn)樾路庋b的API使用SpringSecurity,所以需要身份驗(yàn)證

注意:以下均是個(gè)人理解,如有錯(cuò)誤,還請(qǐng)指正

其實(shí),當(dāng)我們使用Activiti7的時(shí)候,要知道Activit7的開(kāi)發(fā)團(tuán)隊(duì),不在是之前Tom Baeyens的團(tuán)隊(duì)負(fù)責(zé)開(kāi)發(fā),也就是下面這個(gè)哥們。

Springboot2.1.6集成activiti7出現(xiàn)登錄驗(yàn)證的實(shí)現(xiàn)

Activiti7中,重新封裝了一些新的API,比如ProcessRuntime和TaskRuntime

既然是新封裝的,那一定和老的API會(huì)有所區(qū)別,那具體區(qū)別在哪里呢?

我們可以直接查看這兩個(gè)接口里面的內(nèi)容,去一探究竟!

@Autowired private ProcessRuntime processRuntime;

我這里拿ProcessRuntime舉例,我們可以直接查看下,找到實(shí)現(xiàn)的類(lèi)

Springboot2.1.6集成activiti7出現(xiàn)登錄驗(yàn)證的實(shí)現(xiàn)

或者直接使用快捷鍵 CTRL + H ,找出實(shí)現(xiàn)的類(lèi)

Springboot2.1.6集成activiti7出現(xiàn)登錄驗(yàn)證的實(shí)現(xiàn)

進(jìn)入實(shí)現(xiàn)類(lèi)中:

Springboot2.1.6集成activiti7出現(xiàn)登錄驗(yàn)證的實(shí)現(xiàn)

進(jìn)入實(shí)現(xiàn)類(lèi)中,我們可以看到類(lèi)上面使用:

@PreAuthorize('hasRole(’ACTIVITI_USER’)')

這個(gè)是什么?

SpringSecurity用來(lái)在方法調(diào)用前或者調(diào)用后進(jìn)行權(quán)限檢查

說(shuō)到這里,您應(yīng)該明白了吧!因?yàn)锳ctiviti7中封裝出來(lái)的新接口,都加了這個(gè)注解,所以當(dāng)我們即使照著最開(kāi)始的方法剔除了,仍然還會(huì)出現(xiàn)身份認(rèn)證問(wèn)題!

那為什么我們調(diào)用老的接口,卻不需要身份驗(yàn)證呢,其實(shí)不用開(kāi)源碼就可以推出,老的接口上并沒(méi)有添加該注解

我們可以看看老的接口 RuntimeService 的實(shí)現(xiàn)類(lèi):

@Autowired private RuntimeService runtimeService;

Springboot2.1.6集成activiti7出現(xiàn)登錄驗(yàn)證的實(shí)現(xiàn)

所以,我們可以使用 RuntimeService 來(lái)代替 ProcessRuntime 啟動(dòng)實(shí)例。

單元測(cè)試實(shí)例:

package com.example.demo;import com.ruoyi.RuoYiApplication;import org.activiti.engine.RuntimeService;import org.activiti.engine.runtime.ProcessInstance;import org.junit.jupiter.api.Test;import org.junit.runner.RunWith;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.boot.test.context.SpringBootTest;import org.springframework.test.context.junit4.SpringRunner;import java.util.HashMap;@RunWith(SpringRunner.class)@SpringBootTest(classes = RuoYiApplication.class)public class DemoApplicationTests { // Activiti7 新接口由于內(nèi)置SpringSecurity,在運(yùn)行時(shí)會(huì)報(bào)錯(cuò) // @Autowired // private ProcessRuntime processRuntime; // 老的接口方法,未內(nèi)置 SpringSecurity @Autowired private RuntimeService runtimeService; @Test void contextLoads() { System.out.println('hello world'); } /** * 在使用 SpringBoot + Activiti 時(shí),啟動(dòng)服務(wù)訪(fǎng)問(wèn)模塊時(shí),瀏覽器會(huì)彈出一個(gè)登錄界面。 * * 這是因?yàn)锳ctiviti 框架整合了SpringSecurity框架,如果我們不需要安全驗(yàn)證時(shí)可以禁用springsecurity。 * * * @SpringBootApplication( * exclude = { * org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration.class, * org.springframework.boot.actuate.autoconfigure.security.servlet.ManagementWebSecurityAutoConfiguration.class * }) */ /** * 啟動(dòng)任務(wù) */ @Test void startProcess(){ /** * 流程變量 * 給<userTask name='請(qǐng)假申請(qǐng)' activiti:assignee='#{student}'></userTask> * 的student賦值 */ HashMap<String, Object> variables = new HashMap<>(); // String username = SecurityUtils.getNickName(); String username = '小王'; variables.put('staff', username); /* ProcessInstance processInstance = processRuntime.start(ProcessPayloadBuilder.start().withProcessDefinitionKey('baoxiao').withName('報(bào)銷(xiāo)測(cè)試')//.withBusinessKey(id)// .withVariable('deptLeader', join).withVariables(variables).build()); */ ProcessInstance processInstance = runtimeService.startProcessInstanceByKey('baoxiao', variables); System.out.println('流程實(shí)例啟動(dòng):'); System.out.println(processInstance.getId()); }}

結(jié)果打印:

流程實(shí)例啟動(dòng):b0af0810-4801-11eb-b1ac-005056c00001

可以看到使用老接口,就可以成功執(zhí)行了。

相關(guān)文章:

SpringBoot2.x整合Activiti7后,禁用SpringBootSecurity問(wèn)題

到此這篇關(guān)于Springboot2.1.6集成activiti7出現(xiàn)登錄驗(yàn)證的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Springboot activiti7登錄驗(yàn)證內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Spring
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日韩一区二区三免费高清在线观看 | 国产精品a久久久久| 激情综合网站| 日韩久久99| 国产福利资源一区| 国产精品av一区二区| 日韩高清国产一区在线| 日本韩国欧美超级黄在线观看| 五月天综合网站| 精品72久久久久中文字幕| 久热精品在线| 日韩精品久久久久久久电影99爱| 亚洲精品系列| 国产尤物精品| 福利片在线一区二区| 日本精品久久| 免费人成网站在线观看欧美高清| 成人高清一区| 国产高清日韩| 中文字幕中文字幕精品| 91精品精品| 日韩精品麻豆| 特黄毛片在线观看| 欧美激情日韩| 国产福利一区二区精品秒拍| 亚洲精品在线国产| 国产精品试看| 99久久亚洲精品| 日韩深夜视频| 国产精品久久久久av电视剧| 久久精品一本| 久久精品国产福利| 精品中文字幕一区二区三区四区| 国产欧美日韩在线一区二区| 国产精品人人爽人人做我的可爱 | 色综合五月天| 美腿丝袜亚洲一区| 欧美激情视频一区二区三区免费| 啪啪亚洲精品| 国产欧美高清| 精品黄色一级片| 欧美1区2区3| 久久久久久色| 国产精品一区2区3区| 国产精品1区| av资源新版天堂在线| 久久国产日韩| 国产一区二区三区自拍| 久久视频精品| 日韩精品一级中文字幕精品视频免费观看 | 国产精品1区| 精品三级av| 欧美sss在线视频| 日本 国产 欧美色综合| 欧美久久精品| 国产精品福利在线观看播放| 亚洲h色精品| 午夜久久av| а√在线中文在线新版| 日韩午夜电影| 国产精品一区二区三区www| а√天堂8资源中文在线| 亚洲精品网址| 国产精品啊啊啊| 91精品综合| 欧美亚洲三区| 日本91福利区| 婷婷精品在线观看| 日韩和欧美一区二区三区| 香蕉久久一区| 久久av偷拍| 一区二区三区四区日本视频| 亚洲va中文在线播放免费| 久久久久美女| 免费不卡在线视频| 国产精品亚洲综合在线观看| 国产精品一级| 久久国产主播| 在线观看一区| 精品国产午夜肉伦伦影院| 国产精品久久久久av电视剧| 欧美肉体xxxx裸体137大胆| 欧美特黄a级高清免费大片a级| 蜜臀av国产精品久久久久 | 99成人在线视频| 精品一区二区三区视频在线播放| 蜜芽一区二区三区| 成人av动漫在线观看| 国产成人久久精品一区二区三区| 亚洲毛片在线免费| 国产高清一区| 国产超碰精品| 91嫩草亚洲精品| 国产精品tv| 亚洲区欧美区| 免费看的黄色欧美网站| 亚洲成人精品| 婷婷激情一区| 欧洲亚洲一区二区三区| 日韩一区三区| 99精品综合| 国产一区日韩欧美| 欧美二区视频| 久久精品国产68国产精品亚洲| 国产精品yjizz视频网| 国产欧美日韩精品高清二区综合区| 日韩精品午夜视频| 青青草伊人久久| 国产精品啊v在线| 国产精品视频3p| 在线国产日韩| 日本在线啊啊| 免费在线小视频| 日韩中文字幕区一区有砖一区 | 欧美~级网站不卡| 国产精品99在线观看| 在线亚洲欧美| 欧美69视频| 日韩高清中文字幕一区二区| 精品美女视频 | 夜夜嗨一区二区| 蜜桃一区二区三区在线| 日韩高清电影一区| 欧美激情aⅴ一区二区三区 | 视频一区二区欧美| 青青在线精品| 欧美一级鲁丝片| 亚洲欧美日韩视频二区| 国产视频一区二| 精品三级国产| aⅴ色国产欧美| 免费在线观看一区| 香蕉人人精品| 日本麻豆一区二区三区视频| 国产成人精品一区二区三区在线| 久久青草久久| 欧美一级二级视频| 日韩欧美一区二区三区在线观看 | 亚洲精品麻豆| 色在线中文字幕| 一本一道久久a久久| 国产精品精品| 午夜亚洲福利| 欧美+日本+国产+在线a∨观看| 日本亚洲最大的色成网站www| 蜜臀国产一区| 欧美日韩一区二区三区四区在线观看 | 日韩专区一卡二卡| 免费一级欧美片在线观看网站| 香蕉人人精品| 美女视频网站久久| 色综合视频一区二区三区日韩| 日韩在线高清| 国产精品丝袜在线播放| 三级一区在线视频先锋| se01亚洲视频| 成人午夜网址| 免费在线观看一区| 日韩精品一区二区三区av| 在线精品视频在线观看高清| 国产一区二区三区不卡av| 日韩精品久久理论片| 亚洲欧美日本视频在线观看| a天堂资源在线| 激情久久99| 国产精品视频一区二区三区| 日本一区二区三区视频在线看| 日韩在线中文| 欧美一区二区三区久久| 999国产精品| 麻豆精品av| 日韩午夜视频在线| 成人在线观看免费视频| 日韩一区精品视频| 国产精品国产一区| 深夜福利亚洲| 免费精品国产的网站免费观看| 欧美激情 亚洲a∨综合| 精品日韩毛片| 97视频热人人精品免费| 91成人精品在线| 亚洲色诱最新| 久久久国产精品一区二区中文| 久久99影视| 欧美日韩调教| 日韩国产欧美视频| 深夜福利一区| 免费看日韩精品| 99香蕉国产精品偷在线观看| 日韩啪啪电影网| 国产一区二区三区久久久久久久久| 日本视频一区二区| 亚洲精选av| 免费在线观看视频一区| 亚洲激情久久| 91精品1区| 亚洲一区国产| 91综合网人人| 美女国产一区| 久久超碰99|