Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
無線網(wǎng)絡(luò)能夠正常連接成功,但是卻一直顯示沒有訪問權(quán)限,是怎么回事?如何才能解決?
這個問題比較復(fù)雜,可以通過以下的順序進行逐項排除:
1、有可能是顯示的信息不正確,還沒有及時的更新過來,或者系統(tǒng)有問題,導(dǎo)致顯示不正常,有此提示時,可以先上網(wǎng)試一下,看是否能正常打開網(wǎng)頁,如果可以正常打開網(wǎng)頁,說明網(wǎng)絡(luò)連接沒有問題,可以正常使用,可以不用關(guān)注那個提示,只要能正常上網(wǎng)就可以了。
2、 如果無法打開網(wǎng)頁,可以登錄QQ或者微信,說明是外網(wǎng)是通的,解析有問題,可以檢查一下DNS的設(shè)置,如果提示是這樣提示:
先更新瀏覽器,或者更換瀏覽器,解決瀏覽器的問題,或者證書的問題。
打開一個是公網(wǎng)IP地址的網(wǎng)站測試一下,看是否正常訪問,如果可以訪問,可以確定是DNS解析的問題。
3、如果瀏覽器無法打開網(wǎng)頁,無法登錄QQ或微信,看是否能通過瀏覽器訪問路由器的管理界面,如果可以,說明局域網(wǎng)是沒有問題的,問題出在外網(wǎng),要查看外網(wǎng)線路,或者通過手機連接路由器WIFI 檢查是否能正常上網(wǎng),檢查時一定關(guān)閉手機流量,如果無線WiFi不通,手機會自動走流量,看上去像是網(wǎng)絡(luò)通的,其實不是。如果不通,可以找互聯(lián)網(wǎng)接入商先解決上網(wǎng)問題,可以通過DOS命令行PING 114.114.114.114 來判斷是否有外網(wǎng),如果超時,說明外網(wǎng)沒有連接成功。
4、通過瀏覽器無法訪問路由器的管理界面,可能是IP地址不對,或者沒有獲得分配的IP地址,可以手動設(shè)定無線網(wǎng)卡的IP地址,或者重新啟動路由器或電腦,重新連接WIFI,看是否能獲得IP地址,可以通過使用 /all 命令來檢查本地網(wǎng)卡的IP地址情況,如果IP地址為169.254.x.x說明書是沒有獲得IP地址,可以檢查DHCP Client 服務(wù)是否啟用,如果沒有啟用,先啟用。執(zhí)行其他 相關(guān)的命令
/
/
/release
/renew
5、如果檢查DHCP client服務(wù)已經(jīng)啟用了,還是無法獲得IP地址,可以采用重置WINSOCK的方法,方法就是這樣在DOS提示符下輸入NETSH WINSOCK RESET, 然后重新啟動電腦,看是否可以正常上網(wǎng),很多問題到這里就基本解決了,如果重置后還是無效,繼續(xù)后面的操作。
6、禁用無線網(wǎng)卡驅(qū)動程序再啟用,或者設(shè)備管理器中刪除無線網(wǎng)卡的驅(qū)動程序,重新識別一下無線網(wǎng)卡驅(qū)動,或者更新無線網(wǎng)卡驅(qū)動到最新驅(qū)動程序試嘗試。
7、如果是系統(tǒng),或者系統(tǒng),可以檢查 的自動更新補丁,看是否在無線不能上網(wǎng)的同一時間段,有自動更新的補丁安裝,如果有可以卸載。
8、如果上述的步驟都不行,可以通過注冊表導(dǎo)入對應(yīng)的正常的操作系統(tǒng)的WINSOCK 的注冊表項。
9、通過命令行卸載IP協(xié)議,重新安裝IP協(xié)議,初始化IP協(xié)議設(shè)置,NETSH IP INTALL NETSH INT IP RESET
10、重置操作系統(tǒng),恢復(fù)出廠設(shè)置,恢復(fù)到當(dāng)初購買時的狀態(tài),如果能正常使用了,可以安裝一鍵禁用Windows自動升級的功能程序,避免再次發(fā)生類似的情況,或者更新操作系統(tǒng)到WINDOWS 11。
11、無線網(wǎng)卡故障,更換無線網(wǎng),徹底解決無線網(wǎng)卡不能上網(wǎng)問題了。
更多詳細操作視頻可以參考視頻號,或抖音 或通過電腦訪問網(wǎng)址:電腦網(wǎng)絡(luò) 視頻版
Power BI本地部署的集成及數(shù)據(jù)權(quán)限控制
戳上面的PowerBI中國社區(qū)關(guān)注我們哦!
本文目標(biāo)人群是對Power BI本地部署和第三方系統(tǒng)集成以及如何做數(shù)據(jù)權(quán)限控制有疑問的童鞋。Power BI本地部署的正確全稱是Power BI Report Server,下載地址短域名,簡稱PBI RS。
先說結(jié)論,PBI RS可以在不同的環(huán)境下實現(xiàn)和第三方系統(tǒng)的集成和并且可以針對不同用戶做到數(shù)據(jù)權(quán)限控制。
開始之前先說明一下認證和授權(quán)這兩個概念。認證,是PBI RS識別請求訪問的用戶是不是有效用戶。授權(quán),是用戶在經(jīng)過PBI RS認證是有效用戶之后,PBI RS來解決這個用戶有沒有權(quán)限訪問某個頁面的功能。在下文的討論中,主要討論不同的認證方式,然后會討論授權(quán)中關(guān)于數(shù)據(jù)授權(quán)的部分。
PBI RS的核心框架和SQL Server的 Service非常相似(其實兩者從實現(xiàn)機制上差別巨大,這里不做深究),可以簡單的理解為,PBI RS是一個.Net Web Site,如果要實現(xiàn)和它的深度集成,把它作為一個.Net Web Site來集成就可以了。第三方系統(tǒng)和它做集成有兩種方式:AD認證的集成模式、Form認證的集成模式。這兩種方式?jīng)]有優(yōu)劣之分,只有合適與否。
AD認證的集成模式
AD(或者Windows)認證是PBI的默認認證方式。在這種方式下,需要第三方應(yīng)用也采用了AD的認證方式才可以正常的和PBI RS做集成。注意,這種方式要求第三方系統(tǒng)采用了AD的認證方式,并且用戶在使用AD賬戶登錄了操作系統(tǒng),才能正常的不用輸入登錄用戶名和密碼去訪問PBI RS或第三方系統(tǒng)。不用登陸的原因是用戶在登陸操作系統(tǒng)時,已經(jīng)輸入了用戶名和密碼經(jīng)過了AD的認證。這里不做第三方系統(tǒng)和AD集成的探討,如果有需求,請參考微軟官方的文檔。
在第三方系統(tǒng)做好了AD的集成后,與PBI RS的集成,官方給出了通過URL的方式在第三方做iframe的嵌入。即通過將報表的地址,然后增加后綴 ?rs:embed=true的方式來實現(xiàn)集成。如果在瀏覽器直接輸入,其對比效果如下:
訪問/reports/powerbi/test/RLS?rs:embed=true的效果,只有報表區(qū)域。
訪問/reports/powerbi/test/RLS的效果,包含了PBI RS的一些固有元素。
如果你還想在URL里傳入?yún)?shù),控制PBI報表的顯示內(nèi)容,還可以通過這樣的參數(shù)組合來實現(xiàn):reports/powerbi/[]?rs:Embed=true&filter=[]/[ or ] eq 'value' [and []/[ or ] eq 'value']
【對自定義制作報表場景有硬需求的用戶一定要注意這段】
在AD認證模式下,用戶使用PBI Desktop(本地版本)編輯完報表后,可以直接另存到PBI RS上。因為運行PBI Desktop的賬戶是AD賬戶,因此PBI Desktop和PBI RS之間是有認證關(guān)系的。那如果用戶在非域的windows上訪問系統(tǒng)并且編輯報表,然后也想將報表直接另存到PBI RS上怎么辦?一個解決方案是,使用runas命令(runas /netonly /user: "")。有需求的童鞋可以查一下這個命令的用法,然后給這類用戶一個bat批處理文件(或其他形式的可以使用runas命令或類似命令的交付物),用bat文件來代替原來的pbi desktop的啟用方式。
此外,如果對安全性要求不是很高,用戶也可以通過js里的對象,使用get方法將用戶名和密碼傳遞給PBI RS然后再請求iframe中的報表地址。這種方式需要注意兩點,第一是用戶名和密碼實際是明文get請求到PBI RS的;第二需要考慮不同瀏覽器對腳本的支持情況。
很多時候,用戶的環(huán)境不是純AD的環(huán)境,或者使用了其他的SSO方案,這時候怎么做呢?我們可以使用PBI RS的Form認證方式。
在AD認證中的權(quán)限控制
PBI RS中如果想實現(xiàn)不同用戶訪問同一張報表時,看到的數(shù)據(jù)只能是這個用戶權(quán)限范圍之內(nèi)的數(shù)據(jù),則需要通過結(jié)合SSAS(SQL Server Service)來實現(xiàn)。具體步驟如下:
在AD中創(chuàng)建user1和user2。
使用SSDT(SQL Server Data Tools,請通過搜索引擎從微軟官網(wǎng)下載),創(chuàng)建一個SSAS的tabular模型,然后部署到SSAS中。具體操作步驟,請參考官方教程:,教程內(nèi)容比較豐富,如果僅需要快速了解權(quán)限相關(guān),請直接跳轉(zhuǎn)到教程列表的“補充課程-動態(tài)安全性”部分。這個步驟的重點是,在模型中額外創(chuàng)建user1和user2對應(yīng)的數(shù)據(jù)權(quán)限映射表,然后在這個權(quán)限映射表中,使用()函數(shù)來做過濾。
使用PBI Desktop直連(Direct Query而非Import)到SSAS中對應(yīng)的模型,制作報表,然后將報表發(fā)布到PBIRS。
user1和user2在PBI RS中都被管理員授予報表的瀏覽權(quán)限。
使用user1和user2在訪問這張報表時,數(shù)據(jù)會按不同的用戶做對應(yīng)的呈現(xiàn)。
有些時候,用戶可能會遇到下面的錯誤:
一般這種情況是由于服務(wù)器采用了k8s認證模式,而服務(wù)器卻沒有做好對應(yīng)的配置,遇到這種情況,請參考:
Form認證的集成模式
PBI RS本身是一個.Net Web應(yīng)用,實現(xiàn)其Form認證和.Net Web程序的Form認證基本原理一樣。PBI RS提供了接口讓用戶可以實現(xiàn)自定義的Form認證。所謂的自定義就是,你可以選擇實現(xiàn)你希望的PBI RS認證邏輯,是通過賬號密碼,還是SSO服務(wù)器的某種標(biāo)準(zhǔn)(比如SAML),只要用戶在PBIRS的擴展模塊實現(xiàn)了sion2接口。微軟給出了示例代碼,并放到了github上。示例代碼下載地址:。完成Form認證的設(shè)置需要的步驟比較多,而且需要比較多的.net web相關(guān)知識,為了讓大家可以更快上手,微軟在github上的示例代碼的最近更新中,添加了一個腳本,可以實現(xiàn)一鍵部署,方便了大家體驗Form認證。
在Form認證模式下,第三方系統(tǒng)可以非常方便的和PBI RS做集成。比較推薦的方式還是使用官方介紹的embed的URL方式。但是在Form認證下,目前存在一個問題是,PBI Destkop在制作完報表后,無法直接另存到PBI RS中。用戶嘗試在另存為的時候 ,會得到服務(wù)器返回的一個錯誤。目前這個錯誤是由于PBI Desktop在當(dāng)前版本還不支持Form認證,根據(jù)PBI社區(qū)的信息,產(chǎn)品組已經(jīng)在制作相關(guān)的功能,下個版本可能會解決。目前的一個解決辦法是,用戶編輯完pbix報表后,不要另存為,而是選擇先存到本地,然后再登陸到PBI RS,利用上傳功能,將pbix文件上傳到PBI RS上。這種模式下,為了安全性考慮,上傳的pbix的數(shù)據(jù)源連接的信息會丟失(如果不丟失就需要PBIRS保存用戶指定的數(shù)據(jù)源的用戶名和密碼,這點會有比較大的安全隱患),需要用戶在PBI RS站點上再編輯一下上傳的pbi報表的數(shù)據(jù)源信息,pbi報表才可以正常顯示。而每次上傳報表后還要再次做一次數(shù)據(jù)源的編輯對用戶來說,操作過于繁瑣。因此,我們可以做一個簡單的頁面,這個頁面使用PBI RS提供的RESTAPI來實現(xiàn)pbix文件的上傳,在上傳完畢后,調(diào)用相關(guān)RESTAPI,將這個報表的數(shù)據(jù)源信息自動重寫。關(guān)于RESTAPI的功能,不在這里詳述了,有興趣的童鞋可以去PBI官網(wǎng)的文檔中查看更多信息。
在Form認證中的權(quán)限控制
在Form認證中,PBI RS的用戶不再是AD用戶,而SSAS不支持非AD用戶(或windows用戶)之外的認證方式。這種情況下怎么控制不同用戶的數(shù)據(jù)權(quán)限呢?答案是,還是通過SSAS來完成。具體思路如下:
在PBI RS里創(chuàng)建user1和user2
使用SSDT創(chuàng)建SSAS模型,然后發(fā)布到SSAS,注意,在創(chuàng)建模型時,依然需要一張用戶和數(shù)據(jù)權(quán)限的映射表。此時暫時先不處理權(quán)限的映射。
使用PBI Desktop通過直連的方式直連到SSAS,然后創(chuàng)建報表,并將pbix文件上傳到PBI RS上。
在PBI RS上編輯這張報表的數(shù)據(jù)源成以下格式:
Data Source=[server name or server ip];Initial Catalog=[model name];={{UserID}}
注意,紅色部分是核心。是SSAS的連接字符串的擴展參數(shù);{{userid}}是PBI RS的內(nèi)置通配符,會將這個通配符的值替換成當(dāng)前PBI RS登陸用戶,然后傳遞給SSAS。
在SSAS中,增加一個角色,在這個角色的數(shù)據(jù)過濾條件中,輸入類似于下面的格式的公式:
=[]=()
使用user1和user2登陸報表,查看到這張報表的數(shù)據(jù)已經(jīng)根據(jù)用戶做了過濾。
一些常見問題:
PBI RS的REST API怎么調(diào)用?
簡單來說,需要訪問/reports/api/v2.0/me,獲得PBI RS的cookie,然后使用這個cookie去訪問其他的api。
我想禁止用戶下載PBI里的數(shù)據(jù),怎么做?
使用SQL Server Studio連接到PBI RS服務(wù),然后將服務(wù)器屬性的值改成False。
PBI RS只有很少的幾個角色,怎么創(chuàng)建新的具有自定義權(quán)限的角色?
使用SQL Server Studio連接到PBI RS后,在服務(wù)器的角色中創(chuàng)建新的角色。
如何通過 Studio管理PBI RS?
打開SSMS,使用 service類型,連接地址為 。
本文參考的一些鏈接:
*請認真填寫需求信息,我們會在24小時內(nèi)與您取得聯(lián)系。