จำกัด การเข้าถึงไซต์ IIS ไปยังกลุ่มโฆษณา


22

เป็นไปได้หรือไม่ที่ IIS จะตั้งค่าไซต์ใน IIS และอนุญาตให้ผู้ใช้กลุ่มโฆษณาบางกลุ่มเข้าถึงได้เท่านั้น

คำตอบ:


18

ต่อไปนี้ควรใช้งานได้ขึ้นอยู่กับรุ่น IIS ของคุณ คุณจะต้องเพิ่ม web.config หากคุณไม่มี (ใน IIS7) ในไดเรกทอรีรากของเว็บไซต์ของคุณ ด้านล่างจะอนุญาตให้ผู้ดูแลระบบโดเมนและปฏิเสธผู้ใช้โดเมน (อธิบายตนเองอย่างเป็นธรรม) ตรวจสอบให้แน่ใจว่าคุณจัดเรียงส่วนการตั้งค่าหากคุณมีส่วนแล้ว ฯลฯ

<configuration>
  <location path="MyPage.aspx/php/html">
      <system.web>
         <authorization>
            <allow users="DOMAIN\Domain Admins"/>
            <deny users="DOMAIN\Domain Users"/>
         </authorization>
      </system.web>
   </location>
</configuration>

คุณจะต้องเปิดใช้งาน Windows Authentication ภายใต้ Authentication ในการตั้งค่าไซต์ของคุณเพื่อให้ทำงานได้อย่างชัดเจน แต่ฉันคิดว่าคุณได้เปิดใช้งานสิ่งนี้แล้ว


IIS รุ่นใดที่ใช้งานได้?
svandragt

14

คำตอบของ joshatkinsไม่ทำงานใน IIS7 สำหรับ IIS7 คุณต้องใช้แอ็ตทริบิวต์บทบาท นอกจากนี้หากคุณต้องการ จำกัด ทั้งไซต์คุณไม่จำเป็นต้องมีองค์ประกอบตำแหน่ง

<authorization>
  <allow roles="DOMAIN\Domain Users"/>
  <deny users="*" />
</authorization>

9
โปรดอย่าใช้การอ้างอิงเช่น "ด้านบน" หรือ "ด้านล่าง" เพราะคุณไม่มีทางรู้ว่าบุคคลใดเห็นลำดับที่คำตอบ ปัญหาแย่ลงเมื่อเวลาผ่านไปเนื่องจากมีคำตอบเพิ่มเติม คุณควรอ้างถึงชื่อโปสเตอร์ของคำตอบที่ถูกอ้างอิง
John Gardeniers

11

เพียงเพิ่มคะแนนเพิ่มเติมอีกสองสามข้อในคำตอบอื่น ๆ ที่ช่วยให้ฉันทราบวิธีการทำงานนี้หลังจากที่ฉันมี AD Authentication ขั้นพื้นฐานทำงานได้ดีกับ IIS

  1. เพิ่มบทบาทหรือคุณสมบัติผ่านWindows Server Manager : เว็บเซิร์ฟเวอร์ (IIS) -> เว็บเซิร์ฟเวอร์ -> ความปลอดภัย -> การอนุญาต URL
  2. ปิดแล้วเปิดโปรแกรมจัดการ IIS (ถ้าคุณมีมันเปิด) ตอนนี้คุณจะเห็น (ตามมาตรา IIS สำหรับเว็บไซต์ของคุณ) กฎการให้สิทธิ์ เปิดสิ่งนี้ขึ้นมา
  3. คลิกที่แผงด้านขวา: เพิ่มกฎการอนุญาต
  4. ภายใต้บทบาทที่ระบุหรือกลุ่มผู้ใช้ให้พิมพ์ชื่อของกลุ่มโฆษณาที่คุณต้องการ เช่น. mydomain \ myGroupและเลือกตกลง
  5. ทำซ้ำ 4 สำหรับกลุ่มที่คุณต้องการ

หากคุณเพียงต้องการแก้ไขไฟล์กำหนดค่าโดยตรงมันจะมีลักษณะดังนี้:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        ...
        <security>
            <authorization>
                <remove users="*" roles="" verbs="" />
                <add accessType="Allow" roles="myDomain\myGroup01" />
                <add accessType="Allow" roles="myDomain\myGroup02" />
            </authorization>
        </security>
    </system.webServer>
</configuration>

คุณจะต้องเปิดใช้งาน Windows Authentication (NTLM / Curb) มิฉะนั้นหากไม่สามารถระบุข้อมูลเซสชันของเบราว์เซอร์ได้การอนุญาตตามบทบาทจะทำงานอย่างไร หลังจากติดตามทิศทางของคุณและเปิดใช้งานการรับรองความถูกต้องของ Windows แล้วก็ใช้งานได้!
KFL

3

หากใช้กฎการอนุญาต web.config ไม่ทำงาน (ตัวอย่างเช่นเนื่องจากสคริปต์ CGI ทำงาน) คุณสามารถใช้ระบบการอนุญาตโฟลเดอร์เพื่อปิดใช้งานการสืบทอดเอาผู้ใช้ IIS ออก (เพื่อให้ไม่มีใครสามารถเข้าถึงการอ่านได้) และเพิ่มกลุ่มความปลอดภัยใน ด้วยการเข้าถึงการอ่าน คุณต้องเปิดใช้งานวิธีการรับรองความถูกต้องบางรูปแบบ (เช่นพื้นฐานหรือ Windows Integrated) เพื่อให้ผู้เข้าชมได้รับการยอมรับ


ฉันชอบวิธีนี้อาจไม่เหมาะกับความต้องการของทุกคน แต่ไม่จำเป็นต้องยุ่งกับเว็บ config
person

1

การให้สิทธิ์การอ่านในโฟลเดอร์แก่กลุ่มโดเมนนั้นก็ใช้งานได้เช่นกัน


0

ฉันรู้ว่ามันเป็นคำถามที่เก่ามาก แต่นี่เป็นสิ่งที่ฉันต้องการในสภาพแวดล้อมการทดสอบของฉัน

วิธีนี้ใช้ได้สำหรับฉันและฉันได้รับป๊อปอัปเพื่อเข้าสู่ระบบและฉันสามารถเข้าสู่ระบบได้โดยไม่มีปัญหาใด ๆ

ฉันสงสัยว่าฉันจะกำหนดค่าให้ใช้ SSO ได้อย่างไร หากผู้ใช้ที่เข้าสู่ระบบเป็นสมาชิกของกลุ่มความปลอดภัยให้ทำการขอข้อมูลประจำตัว

IIS ของฉันอยู่บน Windows Server 2016 1607 และเว็บไซต์เป็น HTML แบบคงที่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.