搜尋

搜尋結果

創新創業教育 | 陳康妮:職涯規劃中需學會斷捨離
文化創意
陳康妮・2021-11-01

【作者簡介】 陳康妮 Miss Connie 澳門科技大學講師 澳州墨爾本大學主修高等教育管理學 澳門高等教育管理學專家(Digital Educator) 澳門培訓師 (Digital Trainer) 澳門教育專欄作家 (Digital Writer 全球職涯發展師 從事高等教育管理培訓工作24年 斷捨離不僅僅存在於生活中,在職業生涯規劃中也需要學會斷捨離。職業生涯規劃是人生中的重要環節,我們也一直致力於在澳門推廣職業生涯教育,在這個過程中,我們也要廣泛傳播斷捨離的觀念,因為人的一生是有限度的,人的精力也是有限的,大多數人無法在同一時間內完成數件高耗能的事情,所以在重要與相對來說不太重要的事情之間,我們要做出選擇,要有完成的優先級。 斷,即停止負面的思考模式;捨,即順從自己的內心,割捨己有;離,即心中的煩慾與執念。在職業生涯規劃中,也要斷捨離,保持依然從容的心態輕裝上陣,而不是負重前行。 對於還在校園學習的學生們來說,他們對於未來充滿著無限嚮往,很多時候都想擁有一個完美的答案,可是世事無常,不是所有的事情都是完美的,不是所有的事情都會按照自己預想的方向發展,在面對理想與現實巨大落差的時候,有的同學可能就因為心裡承受能力比較弱,從此一蹶不振,對於未來的生活沒有了動力,這是我們作為教師最不希望看到的一種情況。 我們要注重職業生涯教育與段捨離觀念的連結,在推廣職業生涯教育的同時,也要推廣斷捨離的觀念,幫助學生們有針對性地做出規劃,而不是全盤接受,不能全部都要,而是要抓大放小,選擇自己最核心的需求,緊緊抓牢自己最渴望的東西,將更多的精力投入到對於自己來說最為重要的事情上,這樣才能夠將精力和時間集中起來,去做好最核心的事情。 我們需要讓學生明白,雖然說人生是一個不斷試錯的過程,學生們還年輕,未來的路還很長,但是隨著年紀的增長,隨著社會壓力的增大,試錯成本也在不斷增加,學生們不斷融入到社會中,社會關係變得複雜起來。 若是還有了家庭的羈絆,那麼關於工作的選擇,對關於職業生涯的規劃可能有的時候就不僅僅是個人的事情了,需要考慮的因素變得多起來,而且隨著身體不斷損耗,人的精力也變得越來越有限,此時就體現出了斷捨離的重要性,只有在自己的職業生涯規劃中做好斷捨離,規劃才會變得更加明晰,減少一些不必要的浪費,更好地邁向接下來的人生。

M仔日記 – Plaza Premium First 高級貴賓室
旅遊情報
MO560・2019-04-20

Plaza Premium First ndash; 香港機場貴賓室中的貴賓室 #M仔日記 分享旅遊大小事 1. 簡介 今次的主角 ndash; Plaza Premium First,和你認知中的Plaza Premium是完全不同的。Plaza Premium First是環亞的全新產品,目前只有兩間,一個在香港,另一個在吉隆坡,香港的在2018年7月開張,名叫「環亞優逸庭」。Plaza Premium First走的是VVIP路線,設備齊全,絕對能夠媲美航空公司的Business Lounge,甚至更好。 如想查看更多圖文詳情,請到MO560的Facebook或Website查看。 2. 詳細介紹 2.1 位置 香港機場的Plaza Premium First位於1號閘口附近,跟指示牌往1號閘口方向就會見到了。 如想查看更多圖文詳情,請到MO560的Facebook或Website查看。 2.2 收費 1. 官方收費 ndash; 3小時 HKD$8802. KLOOK ndash; 3小時 HKD$566 ndash; 查看詳情3. 用一張可以進入環亞Lounge的信用卡額外加錢upgrade入First4. 用Arrtue換卷 ndash; 之後再介紹Arrture 小編的建議當然是3,因為很多信用卡都可以入Lounge,不過留意加錢upgrade亦會扣一次入Lounge次數。小編個人認為AE最好,因為本來就永久無限次入環亞,不影響你其他的Priority PassLoungeKey使用次數,再加上AE是港幣卡,沒有海外手續費。如果你不知道甚麼是AE CX Elite,馬上學 gt; AE CX Elite 玩法 官方說明Plaza Premium First $250 upgrade 的活動會直至今年8月31日,活動期間更會4送1,upgrade 4次免費送1次!至於8月後嘛,小編個人認為會繼續有加錢upgrade的,不過金額可能有變,因為開張半年已經改了3次upgrade的金額。 如想查看更多圖文詳情,請到MO560的Facebook或Website查看。 2.3 Primo 主菜是在Agrave; La Carte Menu中7選1,同一人叫第2份要加錢,Menu中的主菜每個月都會有小變化。決定好主菜後,就會送上一杯香檳 G.H. Mumm Cordon Rouge N.V. ,你不喜歡的話亦可以選擇其他。 小編今次選了龍蝦天使面,真材實料,認真不錯!聞說素肉漢堡都好正,打算下次試。除了每人一份免費的主菜外,沙律吧、熱食都是任食的,熱食除了環亞的經典魚蛋河,最近還新增了雞粥和腸粉,充滿香港特色。 如想查看更多圖文詳情,請到MO560的Facebook或Website查看。 2.4 AeroBar AeroBar就在入口旁邊,提供一系列Pernod Ricard旗下頂級威士忌及大量cocktail。注意:部分酒精飲品需要另外收費。 除了酒精類飲品,亦有提供茶類飲品,全部茶類飲品都使用TWG,亦有兩款用TWG製成的特色Tea Mocktail,分別是Ribston Apple和Pink Rose,有興趣可以試試。 還有大量自家製甜品,你的女朋友老婆會很高興。 如想查看更多圖文詳情,請到MO560的Facebook或Website查看。 2.5 按摩及淋浴 入場包10分鐘免費肩頸按摩,最後的連環拳好舒服。另外,洗手間和溶室內全部採用ELEMIS,溶室有提供所有必需品包括牙刷、剃鬚刀。要按摩或使用溶室的話建議入場時就先預約。 如想查看更多圖文詳情,請到MO560的Facebook或Website查看。 3. 總結 Q 到底值不值得加錢入FirstA 小編個人認為是絕對值得的,因為你所享受到的美食、美酒和體驗絕對物超所值。換句話講,反正用AE都是無限次入環亞,在不影響使用次數的前題下,更可以避開環亞的人潮﹝特別是大時大節﹞,$250就可以享受到五星級酒店般的環境、服務、美酒佳餚,Why not 喜歡小編的文章嗎?比個Like支持我啦 Facebook MO560Instagram mo560_travelWebsite httpsmotravel.info 想追蹤最新最潮旅遊攻略?將MO560設定為 「搶先看See First」!歡迎留言討論、查詢、提問。

開學必備!5樣高顏值兼實用淘寶文具推薦
生活在我城
Lifemagshopper・2021-09-02

雖然這個暑假過得有點波折,又未能四處遊走去旅行,轉眼間又到了令人緊張的開學季,各位學生又要開始發奮,這時候不可缺少的是推動你自律學習的好物,有了這5樣法寶,絕對助你在學習的路途上事半功倍!淘寶天貓澳門站MEGA SALE將於9月9日至9月11日期間正式舉行,屆時將推出多項精選瘋狂優惠,包括限量立減低至1元爆品、滿額跨境包郵商品量逢周二翻倍、周一領取限量高達50澳門元立減券等!另外,於9月1至8日期間每天早上10時還可在澳門活動主會場搶限量最高 yen;999 購物紅包,不想錯過這些優惠記得看到最後! 桌面收納抽屜 環境的塑造非常關鍵,雜亂無章的書桌很容易令注意力分散,打亂清晰的思路。所以擁有一個實用的收納盒,可以有效率地把物品分類放好,令你的桌面整齊有條理之餘,可以快速找到想要的物件,騰出更多時間及空間學習! 這款色彩繽紛的桌面收納抽屜,除了外型吸睛,實用性亦很強,層數可以自由疊加,按需要擺放更多物品。另外,它的凹槽設計,令疊加時更穩固。 購買連結 智能標籤機 標籤機絕對是筆記簿分類、講義收納及標示行事曆的好物。這款智能標籤機,運用熱敏原理,溫度提升時便可以列印文字。對比一般油墨打印更清潔! 機身體積小,方便攜帶。 文字編輯方面非常易用,只需下載手機App,便可以按喜好輸入標籤文字,亦可加入可愛圖案,標示清晰的文具絕對令你更有動力學習! 購買連結 復古手帳本 自律學習一定不能缺少品質好又漂亮的手帳本,畢竟要長時間使用,紙質、上手的感覺都不能粗糙。這款復古風格的皮革手帳本,封面防水耐用。這款尺寸作行程簿、畫本、記事本都非常適合!活頁紙有多種排版格式,可以隨時換紙及加紙,長久使用下來更環保。背後還附有收納袋,可放文具,省去筆袋空間。 活頁紙有多種排版格式,可以隨時換紙及加紙,長久使用下來更環保。 購買連結 復古彩色筆 有研究指出顏色可以吸引注意力,有技巧地使用顏色劃分筆記,可以幫助大腦記得重點內容。這套復古彩色筆,高級感滿滿,除了寫字順暢,有多種顏色選擇,鮮豔的色彩絕對可以吸引你的視線!而且彩色筆提供可換筆芯,環保又實惠。 有5款顏色組合 購買連結 折疊護眼燈 長時間對著書本及電腦學習,你需要一盞護眼又舒適的燈!這款折疊護眼燈採用高質的合金材料,燈光選擇很多,色溫及亮度都可以自由調節,亦可使用智能遙控,非常方便。 這盞燈的亮點是可以多角度調節,光區及關節的位置都可280度旋轉,舒適的角度令學習更集中! 設有多種模式的燈光選擇,包括小夜燈模式、休閒模式、閱讀模式、哺乳模式、辦公模式等。 購買連結 淘寶天貓澳門站MEGA SALE詳情 9月1日 至 9月8日 預售期 這段時期各商家將開始派發優惠,每日早上10點開始於澳門活動主會場可搶高達yen;999限量購物紅包,先到先得!購物紅包可於9月9日至11日使用,大家要爭取在預售期搶購物紅包,等MEGA SALE正式開始就可以省更多! 9月9日 至 9月11日 正式期 天貓跨店買滿 yen;300減 yen;30;淘寶跨店買滿 yen;200減 yen;15,全部都可疊加使用,買得愈多愈划算! 早上10時及晚上10時,於澳門活動主會場搶限量高達200澳門元支付立減券;另外於澳門活動主會場領取限量立減券,即可低至1元買到限量人氣商品! 還有不要錯過淘寶澳門站 MEGA SALE X 本地帶貨達人直播,留意直播間將送專屬優惠碼,祝大家購物愉快! MEGA SALE預售主會場:httpst.tb.cn40jcWJrso4fb0B9zvvGMY2

KLOOK 澳門優惠 – 自助餐8折、水舞間狂電派88折、船票88折
激安優惠
MO560・2019-04-12

KLOOK 澳門優惠 ndash; 自助餐8折、水舞間狂電派88折、船票88折 如果你未學KLOOK玩法,建議先學 gt; KLOOK 玩法 技巧 KLOOK 最新優惠碼 │ 定期更新 gt; KLOOK Promo code│優惠碼 KLOOK 新推出澳門優惠,啱曬大家啊!價錢仲平過用澳覓啊!如果嚟緊假期無嘢做就啱曬,無論係復活節、佛誕補假、五一勞動節、星期六日通通都可以用!即刻約埋班Friend一齊去玩啦! 優惠包括:1. 澳門自助餐8折2. 水舞間、狂電派門票88折3. 金光飛航船票88折 如想查看更多關於 KLOOK澳門優惠 的詳情,請到MO560的Facebook或Website查看。 1. 澳門自助餐8折 例子:銀河群芳 晚餐,4月19日復活節 及 5月13日佛誕補假,平均每人HKD$264! 優惠說明:滿HKD$400 ndash; 8折預訂期限:2019 年 04 月 19 日輸入以下優惠碼並使用建議透過指定連結進入 EATINMACAU │ 點我進入 2. 水舞間、狂電派門票88折 例子:4月19日復活節,狂電派 B區每人HKD$408、A區每人HKD$549。 優惠說明:滿HKD$800 ndash; 88折預訂期限:2019 年 04 月 19 日輸入以下優惠碼並使用建議透過指定連結進入 MACAUSHOW │ 點我進入 3. 金光飛航船票88折 優惠說明:滿HKD$400 ndash; 88折預訂期限:2019 年 04 月 19 日輸入以下優惠碼並使用建議透過指定連結進入 GOGOMACAU│ 點我進入 如想查看更多關於 KLOOK澳門優惠 的詳情,請到MO560的Facebook或Website查看。 喜歡小編的文章嗎?比個Like支持我啦 Facebook MO560Instagram mo560_travelWebsite httpsmotravel.info 想追蹤最新最潮旅遊攻略?將MO560設定為 「搶先看See First」!

入華25年 麥當勞終於開始賣粥和饅頭了
專題報導
Chrysalids 少爺・2018-01-11

從2月24日起,麥當勞中國終於開始賣粥和饅頭了。此時,這家外資連鎖巨頭進入中國市場已長達25年。 首次推出的這款粥類產品名為「穀物雞肉麥鮮粥」,添加了薏米、紅芸豆、燕麥、雞蛋等食材。同時推出的早餐產品還包括一款類似炸小麵包產品mdash;mdash;「金饅頭」。這兩款食品都將作為長期產品在全國(早餐)門店出售,早餐供應時段為上午10點半前。 無論是從名字還是材料上,麥當勞這次的早餐新品非常本土化。麥當勞給出的理由非常官方,稱推出新產品是為了滿足中國消費者的口味需求。 雖然麥當勞對這兩款產品的推出詳情保持神秘,但在社交平台以及地鐵廣告上,麥當勞卻在加大投放力度,「一碗雞粥『谷』勵你,拿下今天從早餐開始」的廣告語開始變得隨處可見。 作為麥當勞的老對手,肯德基從2002年開始就在中國市場試水中式早餐,推出包括粥、油條和豆漿一類的產品,而類似於老北京雞肉卷,雞腿米飯等一系列產品也讓肯德基成為一家最本土化的西式快餐店。 在品類上,麥當勞的本土化一直更為謹慎,相比直接推出新的品類,它更願意在原有的產品中加入一些中國口味,比如去年推出過的饅頭口感的饅火芝香豬排堡、鮮蔬魚餅等產品。麥當勞也曾推出過米飯產品,但是比起肯德基的米飯套餐,它更像是一次試探。 早餐市場之於麥當勞正在變得更加重要,去年麥當勞中國市場的一大貢獻來自於「超值充電飽」套餐,這款價格15元的套餐使得麥當勞去年在中國市場獲得了4%的增長。不過,麥當勞顯然不想只是憑藉價格優勢獲得市場增長。 從去年下半年開始,麥當勞開始奮力開設新興店鋪,推出定製漢堡服務,逐步在門店推出觸摸點餐屏,這些投入都需要新產品去支撐消費者走入門店。早餐和咖啡業務就開始變得更加重要。 在早餐產品的設置上,除了價格優惠,麥當勞曾主打過便捷的概念,西式的漢堡和薯餅是上班族可以隨手帶走的食物,而這一次,推出粥類產品,麥當勞顯然想與中國的消費者產生更多的共鳴。 在今年,麥當勞的推新速度也會更快,大概每四周就會有新產品,這種更新頻率除了能促進銷售,也能帶來消費者更多的持續關注,尤其在社交類媒體上,每一款新品mdash;mdash;無論是否在口味上獲得了認可,在傳播上,它都獲得了更多的關注度,類似於去年的季節限定,黑里白派,墨玉黑堡,麻麻黑甜筒。 這一次,除了粥和饅頭,在全天菜單中,麥當勞還加入了一款雞排產品,名字也非常簡單粗暴,叫做「那麼大雞排」,簡潔明了說明了產品賣點。相比兩款早餐產品,麥當勞為這塊雞排投入了更多的社交媒體關注,不僅製作了一款H5遊戲,還找來了「小崽子劇場」畫了一款《中國好廚藝》的漫畫廣告。 「那麼大雞排」是麥當勞繼去年那款香骨雞腿之後的又一款雞肉類產品,至於好好做漢堡的麥當勞為什麼開始買雞排,除了「更好滿足中國消費者的需求」,更像是在搶奪更懂雞肉食品的肯德基的市場。目前,這款產品已經加入了麥當勞從去年推出的「麥趣雞盒」以及各種組合套餐中,至於它能不能成為下一代的麥辣雞翅或者是麥樂雞產品,現在還不得而知。 以上文章轉載自:httpskknews.cczhmonewsnaqzz5.html

LUSH 開舒適過聖誕
美容
蘇蘇・2016-12-24

經常處於繁忙狀態的都市人來說,休息就是最佳獎賞,不過蘇蘇近年都是年中無休,如果可以讓我好好泡個熱呼呼的熱水浴,這已經是最好的休息了,所以蘇蘇一直鍾愛來自英國天然品牌LUSH的汽泡彈。 在泡浴的同時用絢麗奪目的汽泡彈系列不僅可以軟化肌膚、令你芳香四溢,還可以創造屬於自己的藝術作品,既能夠提升你的心情,還可以豐富你的感官享受,真的頗開心呢 除了汽泡彈外,還有泡泡浴棒,分別是前者為一次性使用,汽泡彈在水中溶解之後就會出現五彩繽紛的泡泡,讓蘇蘇感到心花怒放,心情大好,那些顏色都是天然的,所以可以放心使用。而後者可以多次使用,泡泡較多,但顏色比汽泡彈遜色。 如果在店舖你很想看看汽泡彈或泡泡浴棒的效果,是可以詢問店員讓他們幫你示範一下的,你們看,上圖是汽泡彈溶解後的效果,是否很漂亮呢 幻想自己浸在其中,是一種放鬆的藝術享受。 可以在那裡買 當然是LUSH位於香港和澳門的專門店,早前蘇蘇和香港舞台劇導演演員、著名音樂劇lt;喝彩gt;男主角黃嘉威就應約參觀了LUSH位於香港海港城LCX的全新專門店。 公關講解LUSH的產品於英國全人手新鮮製作,原材料及植物精油均符合道德採購原則;她們的產品包裝採用再生物料製作,並可循環再造;經由全球社區項目採購所有包裝紙及絲帶,支持公平貿易。 她們絕不採用動物測試,提倡愛護動物,珍惜生命。此外,還有一系列適合純素食者使用的產品, 剛才說過店舖歡迎客人聯絡店員試用產品,嘉威已經按捺不住好奇心試用了泡泡浴棒,還立即玩直播呢 因為聖誕將至,這裡充滿了感受一下英國的聖誕氣氛,在這裡無論是裝潢抑或擺設、產品抑或服務,都充滿了快樂元素!好開心啊 LUSH首次推出自然防腐配方的全系列聖誕節產品,以創新的方法改良產品配方控制產品的水分含量,或以天然防腐成分取代合成防腐劑;她們還推出無需包裝及不含防腐劑的固體產品;這個概念真的很好,將這些產品送給朋友,讓送禮物這份心意更具意義! 在色彩繽紛的LUSH專門台裡購物,就是增加快樂的元素 澳門的朋友,在LUSH位於威尼斯人購物中心的專門店也可以分享這份快樂啊 更多各地吃喝玩樂、美容、潮流、旅遊、演藝、文化或購物資訊、心情話語文章等,繼續以一文多發形式發放於中、港、澳三地多個高人氣時尚生活網站的專欄內,詳情請點擊蘇蘇的 新浪微博 『蘇蘇的部落』httpwww.weibo.comsusannaklprofile Facebook httpswww.facebook.comsososusanna Instagram httpinstagram.comsososusanna 時尚生活專欄 ELLE HK 澳門人氣資訊網站CTM ELLE CHINA 中國瑞麗時尚網 搜狐新聞網 手機Apps 聯絡及邀約 susannakL88@yahoo.com.hk

Spring Boot 05 - 為 http json api 加入登入要求
科技新知
MacauYeah・2024-07-02

本節,我們將為之前的http服務,加入認證機制,只有在資料庫現存的用戶可以登入及訪問我們的json api。 下戴模版 慣例,我們用Spring Initializr Maven 下載模版,Dependency主要選擇 Spring Web Spring Boot DevTools Spring Security Controller 跟上節一樣,我們起一個Controller,為簡化測試,我們只做http GET api。 由於本blog對於Source Code的顯示不太友好,有需要看source code的,請到Github查看 srcmainjavaiogithubmacauyeahspringboottutorialspringbootwebapidatacontrollerHomeController.java import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController @RequestMappingquot;apiquot; public class HomeController @GetMappingquot;someRecorduuidquot; public Map readSomeRecord@PathVariable String uuid return Map.ofquot;retquot;, quot;your uuidquot; uuid; 準備我們的test case,但這次我們預期它應該要出現登入失敗的結果。 srctestjavaiogithubmacauyeahspringboottutorialspringbootwebapidatacontrollerHomeControllerTest.java @SpringBootTest @AutoConfigureMockMvc public class HomeControllerTest @Autowired private MockMvc mockMvc; @Test void testNoLogin throws Exception RequestBuilder requestBuilder = MockMvcRequestBuilders.getquot;apisomeRecord1234quot; .contentTypeMediaType.APPLICATION_JSON; this.mockMvc.performrequestBuilder .andExpectMockMvcResultMatchers.status.is4xxClientError .andExpectMockMvcResultMatchers.jsonPathquot;$.retquot;.doesNotExist .andDoMockMvcResultHandlers.print; 在我們執行上述的測試,test case 成功過了。我們的基本設定跟上一節其實沒有多大改動,為何現在http api會回傳狀態 401? 那是因為我們在依賴中加了,Spring Security,它配合了Spring Web,就會自動為所有api加入權限檢測。我們的測試中,沒有任何用戶登入,當然會出現 http 401。為了讓我們可以好好管理誰可以使用api,我們就來設定一定Security。 我們加一個WebSecurityConfig.java,暫時指定所有的訪問路徑都必需有USER權限,並且用 http basic的方式登入。 srcmainjavaiogithubmacauyeahspringboottutorialspringbootwebapidataconfigWebSecurityConfig.java import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.security.config.Customizer; import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; import org.springframework.security.web.SecurityFilterChain; @Configuration @EnableWebSecurity public class WebSecurityConfig @Bean SecurityFilterChain securityFilterChainHttpSecurity http throws Exception http.authorizeHttpRequestsauthorizeHttpRequests gt; authorizeHttpRequests.requestMatchersquot;quot;.hasRolequot;USERquot;; 所有的訪問路徑都必需有USER權限 ; http.httpBasicCustomizer.withDefaults; 使用http basic作為登入認證的方式 return http.build; 上述例子,只是擋了沒有權限的人,我們還需要讓有登入身份的用戶可以成得取限User權限。 我們繼續修改,WebSecurityConfig,加入只在記憶體有效的InMemoryUser import org.springframework.security.core.userdetails.User; import org.springframework.security.core.userdetails.UserDetails; import org.springframework.security.core.userdetails.UserDetailsService; import org.springframework.security.provisioning.InMemoryUserDetailsManager; public class WebSecurityConfig .. @Bean public PasswordEncoder passwordEncoder return new BCryptPasswordEncoder; 我們的密碼不應該明文儲,比較保險,我們使用BCrypt演算法,為密碼做單向加密。 @Bean public UserDetailsService userDetailsService UserDetails user = User.withUsernamequot;adminquot; .passwordpasswordEncoder.encodequot;passquot; .rolesquot;USERquot;.build; 我們在記憶中體,加入一個測試用的User,它的名字為admin,密碼為pass,權限為User return new InMemoryUserDetailsManageruser; 然後加入新的測試,直接模擬Role。結果是通過的。 srctestjavaiogithubmacauyeahspringboottutorialspringbootwebapidatacontrollerHomeControllerTest.java @Test void testLoginWithRoles throws Exception RequestBuilder requestBuilder = MockMvcRequestBuilders.getquot;apisomeRecord1234quot; .contentTypeMediaType.APPLICATION_JSON.with SecurityMockMvcRequestPostProcessors.userquot;someonequot; .rolesquot;USERquot;, quot;ADMINquot;; 沒有使用密碼,只使用Role this.mockMvc.performrequestBuilder .andExpectMockMvcResultMatchers.status.is2xxSuccessful .andExpectMockMvcResultMatchers.jsonPathquot;$.retquot;.valuequot;your uuid1234quot; .andDoMockMvcResultHandlers.print; 再來一個測試,改用密碼登入,分別輸入錯的和正確的密碼。 @Test void testLoginWithWrongPasswordAndNoRole throws Exception RequestBuilder requestBuilder = MockMvcRequestBuilders.getquot;apisomeRecord1234quot; .headerquot;Authorizationquot;, quot;Basic randompassquot; 輸入錯的密碼,應該回傳http 401 Unauthorized .contentTypeMediaType.APPLICATION_JSON; this.mockMvc.performrequestBuilder .andExpectMockMvcResultMatchers.status.is4xxClientError .andDoMockMvcResultHandlers.print; @Test void testLoginWithPassword throws Exception RequestBuilder requestBuilder = MockMvcRequestBuilders.getquot;apisomeRecord1234quot; .headerquot;Authorizationquot;, quot;Basic YWRtaW46cGFzcw==quot; http basic 就是把 adminpass 轉成base64 .contentTypeMediaType.APPLICATION_JSON; this.mockMvc.performrequestBuilder .andExpectMockMvcResultMatchers.status.is2xxSuccessful .andExpectMockMvcResultMatchers.jsonPathquot;$.retquot;.valuequot;your uuid1234quot; .andDoMockMvcResultHandlers.print; 最後,當然是正確的密碼才能通過。若果大家還是半信半疑,我們可以跑起真的正服務(IDE RUN或mvn springbootrun),然後用curl去試。 curl httplocalhost8080apisomeRecord1234 failed with 401 curl u quot;adminpassquot; httplocalhost8080apisomeRecord1234 successed 使用SQL Database讀取用戶登入資訊 一般而言,我們不可能把所有用戶登資訊打在InMemoryUser中,通常背後有一個資料庫儲存所有的用戶資訊,我們在登入時,讀取它來做對比檢證。 為此,我們在maven中,加入 Spring Data JPA h2 database (或任何你的資料庫,如mysql 、 sql server) 最後一步,我們把InMemoryUser去掉,改為從資料庫讀取。因為原始碼太多,就不全部貼上。最主要的是WebSecurityConfig.java要關掉之前的UserDetailsService,改為提供一個UserServiceImpl類,它會實現UserDetailsService的功能。 @Configuration @EnableWebSecurity public class WebSecurityConfig 把原來的Bean先變成註解,其他不變 @Bean public UserDetailsService userDetailsService UserDetails user = User.withUsernamequot;adminquot; .passwordpasswordEncoder.encodequot;passquot; .rolesquot;USERquot;.build; return new InMemoryUserDetailsManageruser; springboottutorialspringbootwebapidatasrcmainjavaiogithubmacauyeahspringboottutorialspringbootwebapidataconfigUserServiceImpl.java other import import org.springframework.security.core.authority.SimpleGrantedAuthority; import org.springframework.security.core.userdetails.User; import org.springframework.security.core.userdetails.UserDetails; import org.springframework.security.core.userdetails.UserDetailsService; import org.springframework.security.core.userdetails.UsernameNotFoundException; import org.springframework.security.crypto.password.PasswordEncoder; @Service public class UserServiceImpl implements UserDetailsService @Autowired PasswordEncoder passwordEncoder; @Autowired UserRepo userRepo; @Override public UserDetails loadUserByUsernameString username throws UsernameNotFoundException 因為我們資料庫沒有資料,為了方便測試密碼的加密,我們在java code上直接插入一筆資料。 UserEntity defaultUser = new UserEntity; defaultUser.setUsernamequot;adminquot;; defaultUser.setPasswordpasswordEncoder.encodequot;passquot;; defaultUser.setRolequot;USERquot;; defaultUser.setUuidUUID.randomUUID.toString; userRepo.savedefaultUser; 上述為測試用插入資料,不應該出現在正式使用環境中。 UserEntity user = userRepo.findOneByUsernameusername .orElseThrow gt; new UsernameNotFoundExceptionusername quot; not foundquot;; 找找資料庫有沒有正在登入的該名使用者username List authorities = List.ofnew SimpleGrantedAuthorityquot;ROLE_quot; user.getRole; LOG.debugquot;got user uuid, username, role from databasequot;, user.getUuid, username, user.getRole; 如果前面的 findOneByUsername 有結果回傳,我們就給它一個ROLE_XXX的權限。 return new Userusername, user.getPassword, authorities; 這裏從沒有檢查過密碼是否有匹配,全部交給Spring Security去做 springboottutorialspringbootwebapidatasrcmainjavaiogithubmacauyeahspringboottutorialspringbootwebapidataentityUserEntity.java springboottutorialspringbootwebapidatasrcmainjavaiogithubmacauyeahspringboottutorialspringbootwebapidatarepoUserRepo.java 上述段落中,筆者省略了UserEntity和UserRepo,它們只是一般的springdatajpa概念,有需要可以經文末的連結查看完全原始碼。最需要注意的,是UserEntity的password欄位,在資料庫中是以加密的方式儲存。我們在配匹登入者與資料庫記錄時,也沒有自行檢驗密碼的需要。我們只是在加密過的密碼回傳給Spring Security,Spring框架會自行把登入者輸入的密碼與加密了的密碼作比較。

星宇航空桃園-澳門航線 已獲台灣批准
旅遊情報
MO560・2019-08-18

星宇航空桃園澳門航線 已獲台灣批准 將於明年1月將正式開航的星宇航空,除了第一批向台灣交通部民航局申請的日本、泰國共13條航線之外,第二波申請的航線澳門一條、越南四條共五條航線已獲同意。星宇航空目前首航的航線尚未確定,申請獲准的航線將視機隊狀況進行安排,不會在1月全部都會開航。 星宇航空第二波申請桃園-澳門、桃園-越南芽莊、峴港、下龍灣,以及台中-胡志明市包機,共五條航線,連同第一波獲准的桃園-沖繩、大阪、福岡、仙台、札幌、涵館、名古屋、成田、曼谷、清邁、普吉島客運定期航線,台中-成田、大阪兩條定期包機航線,合計18條航線。 台灣民航局官員說,今年底前星宇會引進三架空中巴士A321 neo新型客機,明年6月前共有四架客機,他們申請航線獲准後,在正式開航前會就機隊、人力狀況,以及申請到的時間帶、航班能否有效串連等因素,重新對航線進行配置,所以雖然這18條航線已申請獲准,明年還是可能會依市場變化進行調整。 緊貼最新最潮澳門信用卡、飛行里數、旅遊資訊,記得讚好MO560的Facebook! 如想查看更多詳情,請到MO560的網站查看。 喜歡小編的文章嗎?比個Like支持我啦 Facebook MO560Instagram mo560_travelWebsite httpsmotravel.info 想追蹤最新最潮澳門信用卡、飛行里數、旅遊資訊?將MO560設定為 「搶先看See First」!

【香港。食記】Les Saveurs Private Kitchen
全球飲食
原來世界這樣大・2018-10-22

有些地方沒有去一陣子,但再次回去,還是記憶猶新,Les Saveurs Private Kitchen也是一個例子,Les Saveurs Private Kitchen搬了已經是一段日子的事。 要吃到好吃的法國菜,又要價錢合理適中,我會推介這間Les Saveurs Private Kitchen。搬遷的Les Saveurs Priatve Kitchen加上重新的佈置,雖然沒有了大玻璃可以欣賞到夜景,但是食物的美味仍然是令人豎起姆指的讚個不停。 人齊了,率先為我們呈上作為Appetizer的蟹卷。用青瓜包裹著亞拉斯加蟹肉,做成蟹卷,在蟹卷的魚籽在列隊,成為整碟的注目。旁邊的是青瓜和青蘋果啫喱,青瓜醬味道有點沈實,而啫喱則帶點清新,可以沾到蟹卷上,分開吃用亦可。視覺上全以綠色的配搭,給人一份清新的感覺。不但是清清味蕾,在視覺上也令人感到舒適。 跟火炙海螯蝦二揀一的是Les Saveurs的慢煮三文魚配魚籽醬,煙燻的味道濃郁,上次到Les Saveurs 的回憶剎眼重現眼前,不過這回想試試新東西,所以在這份三文魚留給其他人吧。 然後是火炙海螯蝦,用火輕輕灼過,入面依然是刺身的鮮味,加上用蕃茄草莓濃汁做的醬汁,甜甜的味道。還加入鱘龍魚子醬和魚籽,清爽之中帶點驚喜。雖然也是前菜,但跟剛剛的青瓜蟹卷帶來不一樣的味道,青瓜蟹卷給人清新,而這份火炙海螯蝦卻給人Honey Sweet的感覺。 再來的是野菌雞清湯,加入昆布、大蒜脆絲和法國野菌脆片,待清湯滲透後這些食材通通都軟化起來,味道清澈,作為間場讓胃準備接下來的菜式也不錯呢。 這個馬鈴薯泥混合了温泉蛋,但大家吃到一半還是把溫泉蛋戳破,蛋心滲在薯泥之間更添美味。表面的還有些黑松露泡沫和麵包脆粒,令吃的時候更有口感。 送上的柚子粒粒來清一清味蕾,迎接主菜的到來。 朋友的Steak和豬肋骨也紛紛來到,要是只談賣相的,我的香煎甘鯛魚確實是有點比下去。但往往人就是羨慕別人得到的,那時候我心中不禁彈出一句:「早知道就點Steak吧。」但,你懂的,人生哪能有這麼多個「早知」呢?拍個照之後我就開動了!用刀叉插進去的甘鯛魚,香脆聲音四起令我感到有點意外,很少餐廳能把甘鯛魚煎得那麼香脆,要是把甘鯛魚的皮和肉質一口氣放到口中令肉質味道昇華,讓吃的時候更添口感。而且還有龍蝦泡沫的加持,美味滿瀉。之前的一點後悔全部因味蕾享受都通通消去了,這道甘鯛魚很好吃,很值得點來試試。 看來大廚對草莓有點情義結吧,這次吃到兩道菜式都有草莓的食材,最後送來的是玫瑰野莓慕絲蛋糕,紅色的碟和慕絲蛋糕來一點撞色,碟上的蛋糕鋪滿草莓,味道酸酸甜甜的,還有旁邊的雪葩清除剛剛菜式的膩感,叫人滿足。 Les Saveurs Private Kitchen灣仔軒尼詩道239號21樓