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

您的位置:首頁技術文章
文章詳情頁

AngularJS和位于另一個域的Jersey Webservice之間的通信無法訪問正確的會話

瀏覽:145日期:2024-05-17 17:57:48
(adsbygoogle = window.adsbygoogle || []).push({}); 如何解決AngularJS和位于另一個域的Jersey Webservice之間的通信無法訪問正確的會話?

根據您使用的AngularJS版本,您可能必須在每個$ http上進行設置。

從1.2開始,您可以執行以下操作:

$http.get(url,{ withCredentials: true, ...})

從1.1.1起,您可以對其進行全局配置:

config([’$httpProvider’, function($httpProvider) { $httpProvider.defaults.withCredentials = true;}]).

如果您使用的是Angular的舊版本,請嘗試將配置對象傳遞給指定withCredentials的$ http。應該可以在1.1之前的版本中使用:

$http({withCredentials: true, ...}).get(...)

另請參閱mruelans答案和:

https://github.com/angular/angular.js/pull/1209http://docs.angularjs.org/api/ng.$httphttps://developer.mozilla.org/zh-CN/docs/HTTP/Access_control_CORS?redirectlocale=zh-CN&redirectslug=HTTP_access_control#section_5解決方法

最近,我一直在使用AngularJS和JavaEE6。我已經在Jersey上構建了一個Web服務,并在Glassfish上部署了該項目。因為我需要某種身份驗證,并且需要OAuth實現或JDBCRealm,所以我決定僅在用戶成功登錄后才創建會話。

@POST@Path('/login')@Produces({MediaType.APPLICATION_JSON})@Consumes({MediaType.APPLICATION_JSON})public Response login(LoginDAO loginData,@Context HttpServletRequest req) { req.getSession().invalidate(); loginData.setPassword(PasswordGenerator.hash(loginData.getPassword())); User foundUser = database.login(loginData); if(foundUser == null) {return Response.status(Status.CONFLICT).build(); } req.getSession(true).setAttribute('username',foundUser.getUsername()); return Response.ok().build();}@GET@Path('/ping')public Response ping(@Context HttpServletRequest req) { if(req.getSession().getAttribute('username') == null) {return Response.ok('no session with an username attribute has been set').build(); } return Response.ok(req.getSession(true).getAttribute('username')).build();}

如果我從Postman或從glassfish上部署的基本jQuery網頁發布到/login,這似乎還可以,我確實獲得了正確的用戶名,并且已經建立了會話。然后,如果我向/ ping發送GET請求,則確實會獲得我登錄時使用的用戶名。

我已經在需要登錄的node.jsWeb服務器上部署了AngularJS應用程序。因為該服務器位于另一個域上的另一個端口上,所以我不得不經歷啟用cors的痛苦。我通過構建一個設置響應頭的容器響應過濾器來做到這一點。

public class CrossOriginResourceSharingFilter implements ContainerResponseFilter { @Override public ContainerResponse filter(ContainerRequest creq,ContainerResponse cresp) {cresp.getHttpHeaders().putSingle('Access-Control-Allow-Origin','http://localhost:8000');cresp.getHttpHeaders().putSingle('Access-Control-Allow-Credentials','true');cresp.getHttpHeaders().putSingle('Access-Control-Allow-Methods','GET,POST,DELETE,PUT');cresp.getHttpHeaders().putSingle('Access-Control-Allow-Headers','Content-Type,Accept,X-Requested-With');return cresp; }}

這確實使我能夠從AngularJS向玻璃魚上部署的Java EE 6應用程序發送不同類型的HTTP請求。

問題是,當我從AngularJS向/ login方法發送POST請求時,創建了一個會話,并且確實獲得了我的用戶名。但是,當我向/ping方法發送GET請求時,收到“未設置用戶名屬性的會話”通知。

我認為這與跨域防護有關,并且在發送xhr請求時必須設置withCredentials標記。我一直在嘗試在AngularJS中執行此操作,但尚未找到如何執行此操作。

function LoginCtrl($scope,$http) { $scope.login = function() {$http.post('glassfish:otherport/api/login',$scope.credentials). success(function(data) {console.log(data); }). error(function(data,error) {console.log(error); }); };};

在另一個控制器中:

$scope.getUsername = function() { $http.get('glassfish:otherport/api/ping',{}).success(function(data) { $scope.username = data;}).error(function() { $scope.username = 'error';}) }

我試圖將withCredentials設置為true

$http.defaults.withCredentials = true;

但是,這并不能解決我的問題。我還嘗試將它與config參數中的每個請求一起發送,但這也不能解決我的問題。

標簽: web
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
欧美特黄一级大片| 国产精品日韩精品在线播放| 视频一区中文| 亚洲伦乱视频| 日韩1区在线| 高清一区二区三区| 精品国产三区在线| 国产精品1luya在线播放| 午夜性色一区二区三区免费视频| 视频小说一区二区| 高清不卡亚洲| 在线天堂中文资源最新版| 欧美精品97| 国产欧美高清| 日韩影院精彩在线| 夜夜嗨一区二区三区| 亚洲一级特黄| 亚洲三区欧美一区国产二区| 欧美日韩国产欧| 中文在线一区| 国产精品呻吟| 亚洲日本久久| 亚洲精品一二| 奇米亚洲欧美| 美女尤物国产一区| 天堂√中文最新版在线| 亚洲风情在线资源| 激情欧美国产欧美| 亚洲免费成人av在线| 日本vs亚洲vs韩国一区三区二区| 国产精品久av福利在线观看| 国内精品美女在线观看| 久久亚洲专区| 日韩动漫一区| 亚洲手机在线| 久久国产乱子精品免费女| 中文在线资源| 一级欧美视频| 91偷拍一区二区三区精品| 亚洲免费激情| 国产精品亚洲综合久久| 日韩精品诱惑一区?区三区| 国产女优一区| 国产精品久久久久久久久久久久久久久| 亚洲精品大全| 精品国产精品国产偷麻豆| 欧美日韩激情在线一区二区三区| 亚洲精品欧美| 99久久九九| 国产精品中文字幕亚洲欧美| 国产精品美女在线观看直播| 99久久久久久中文字幕一区| 日韩av不卡在线观看| 国产精品av久久久久久麻豆网| 青青伊人久久| 国产一级一区二区| 国产精品毛片久久| 性色av一区二区怡红| 麻豆精品新av中文字幕| 日本不卡视频在线| 99在线|亚洲一区二区| 麻豆成人在线观看| 国产一区91| 精品中文一区| 美腿丝袜亚洲一区| 日韩高清成人在线| 五月国产精品| 中文一区一区三区免费在线观 | 妖精视频成人观看www| 亚洲先锋成人| 粉嫩av一区二区三区四区五区 | 97精品一区二区| 欧美黑人做爰爽爽爽| 国产精品亚洲综合在线观看| 国产日韩三级| 黑森林国产精品av| 久久久天天操| 黄色亚洲精品| 男女激情视频一区| 日韩在线成人| 美女久久精品| 水蜜桃精品av一区二区| 三级欧美韩日大片在线看| 精品黄色一级片| 成人国产精选| 午夜久久免费观看| 日韩1区2区3区| 国产在线观看91一区二区三区| av免费不卡国产观看| 红桃视频亚洲| 亚洲精品系列| 国产精品mm| 99视频精品视频高清免费| 九九色在线视频| 热久久免费视频| 久久爱www成人| 欧美午夜不卡| 国产欧美69| 久久蜜桃精品| 石原莉奈一区二区三区在线观看| 色综合视频一区二区三区日韩| 久久只有精品| 国产精品亚洲片在线播放| 欧美在线不卡| а√在线中文在线新版| 国产精品日本欧美一区二区三区| 7777精品| 成人看片网站| 综合欧美亚洲| 91精品久久久久久久久久不卡| 亚洲三级国产| 久久精品高清| 国产精品99久久久久久董美香| 国产视频一区在线观看一区免费| 精品久久一区| 久久精品国产68国产精品亚洲| 午夜亚洲福利| 国产精品美女久久久| 日韩精品诱惑一区?区三区| 国产亚洲字幕| 中文视频一区| 欧美大黑bbbbbbbbb在线| 国产成人在线中文字幕| 在线一区欧美| 免费视频国产一区| 日韩国产专区| 蜜臀国产一区| 激情综合婷婷| 国产欧美三级| 久久激情五月激情| 日本不卡视频在线观看| 免费在线看一区| 国产亚洲在线| 综合激情五月婷婷| 日韩精品91亚洲二区在线观看| 99日韩精品| 亚洲欧美日韩国产| 国产亚洲网站| 亚洲一级影院| 红桃视频国产一区| 亚洲深爱激情| 日本vs亚洲vs韩国一区三区二区| 美女久久一区| 色婷婷成人网| 国产日韩三级| 久久亚州av| 免费看av不卡| 日韩视频一区| 日韩精品91亚洲二区在线观看| 久久国产欧美日韩精品| 国产不卡精品| 亚洲精品中文字幕乱码| 视频在线观看一区二区三区| 亚洲成人国产| 亚洲在线观看| 国产精品porn| 波多野结衣一区| 久久精品xxxxx| 中文字幕成在线观看| 国产偷自视频区视频一区二区| 亚洲精品极品| 福利一区在线| 亚洲精品1区2区| 亚洲精品乱码| 欧美视频久久| 在线一区av| 欧美专区一区二区三区| 国产美女视频一区二区| 国产精品a久久久久| 国内精品福利| 国产精品蜜月aⅴ在线| 秋霞影视一区二区三区| 亚洲精品伊人| 激情久久婷婷| 国产剧情在线观看一区| 国产字幕视频一区二区| 欧美精品福利| 亚洲一区二区三区高清| 麻豆高清免费国产一区| 尤物在线精品| 国产精品不卡| 亚洲一区二区动漫| 黑森林国产精品av| 不卡一区2区| 久久精品女人| 国产精品久久久久久久免费软件| 国产在线欧美| 亚洲一区国产一区| 国产黄大片在线观看| 日韩1区2区3区| 99香蕉国产精品偷在线观看| 在线精品亚洲欧美日韩国产| 麻豆精品av| 欧美成人一二区| 欧美日韩国产一区二区在线观看| 亚洲激精日韩激精欧美精品| 欧美日韩在线观看视频小说| 国产成人免费视频网站视频社区| 国产精品欧美大片| 欧美日韩一区二区三区不卡视频 |