ಶೇರ್ಪಾಯಿಂಟ್ ಪಟ್ಟಿ / ಡಾಕ್ಯುಮೆಂಟ್ ಲೈಬ್ರರಿ ವೀಕ್ಷಣೆಗಳು ಭದ್ರತೆ ಸೀಮ್ಸ್ (ರೀತಿಯ) JQuery ಸಾಧ್ಯ

ಈ ನನ್ನ ಮತ್ತೊಂದು ಪೋಸ್ಟ್ ಆಗಿದೆ ಸರಣಿಯ ಮೇಲೆ ಚಿತ್ತದ ಬಳಸಲು ಹೇಗೆ jQuery ಶೇರ್ಪಾಯಿಂಟ್ ಜೊತೆ.
ನೀವು jQuery ಬಗ್ಗೆ ಹೆಚ್ಚು ತಿಳಿದುಕೊಳ್ಳಲು ಬಯಸಿದರೆ, ನಾನು ಹೆಚ್ಚು ಶಿಫಾರಸು: ಆಕ್ಷನ್ jQuery ಕರಡಿ Bibeault ಮತ್ತು ಯೆಹೂದ ಕಾಟ್ಜ್ ಮೂಲಕ.

ನಾನು ಯೋಚನೆ ಮೊದಲ ಕೆಲಸವೆಂದರೆ, ಒಮ್ಮೆ ನಾನು jQuery ಜೊತೆ ಸುಮಾರು ಆಡಲು ಪ್ರಾರಂಭಿಸಿದರು, was whether we could use it to secure a SharePoint view. The answer is “no” (ಅಥವಾ ಕನಿಷ್ಟ, ನಾನು ಸಾಧ್ಯತೆಯೂ ಹಕ್ಕು ನನಗಿಲ್ಲ). ಹೇಗಾದರೂ, it is certainly possible to make it difficult for people to see a particular view.

I started with my sandbox environment when working on this. I wrote about that environment here: ತ್ವರಿತ ಮತ್ತು ಸುಲಭ: ಶೇರ್ಪಾಯಿಂಟ್ ನಿಮ್ಮ ಸ್ವಂತ jQuery Sandbox ರಚಿಸಿ.

ಒಂದು ನೋಟ "ಭದ್ರತೆಗೆ" ಗೆ, ಈ ಹಂತಗಳನ್ನು ಅನುಸರಿಸಿ:

  1. Create a view you want to secure. I did that and called it “Secured View”.

    ಇದು "ಪಡೆದುಕೊಂಡನು" ದೊರೆಯದಿದ್ದಲ್ಲಿ ಮಾಡಿದಾಗ ತೋರುತ್ತಿದೆ ಏನು:

    image

  2. ಸ್ಯಾಂಡ್ಬಾಕ್ಸ್ ಲೇಖನದಲ್ಲಿ ವಿವರಿಸಲಾಗಿದೆ ಟ್ರಿಕ್ ಬಳಸಿ ವೀಕ್ಷಿಸಿ ತಂದೆಯ ಪುಟಕ್ಕೆ ವಿಷಯ ಸಂಪಾದಕರು ವೆಬ್ ಭಾಗ ಸೇರಿಸಿ (ಅಂದರೆ. "ಪುಟವೀಕ್ಷಣೆ = ಹಂಚಿಕೆ ಸೇರಿಸಿ&URL ಗೆ ToolPaneView = 2 ").
  3. Figure out your SharePoint _spUserId by following these crazy steps, ನಂಬಿಕೆ ಅಥವಾ:
    1. ನಿಮ್ಮ ಶೇರ್ಪಾಯಿಂಟ್ ಪರಿಸರಕ್ಕೆ ಪ್ರವೇಶಿಸಲು.
    2. ವೆಬ್ ಬ್ರೌಸರ್ನ ವಿಳಾಸ ಕ್ಷೇತ್ರದಲ್ಲಿ, ಕೌಟುಂಬಿಕತೆ: "ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್:ಎಚ್ಚರಿಕೆ(_spUserId ").
    3. ಪರಿಣಾಮವಾಗಿ ರೆಕಾರ್ಡ್ (ಇದು ನನ್ನ ಸಂದರ್ಭದಲ್ಲಿ "13" ಇಲ್ಲಿದೆ).

      image

  4. ಕೋಡ್ ವೀಕ್ಷಣೆಯಲ್ಲಿ ನಿಮ್ಮ CEWP ಈ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಸೇರಿಸಿ:

    <ಸ್ಕ್ರಿಪ್ಟ್
        "text/javascript"
        SRC ="../../jQuery Library/jquery-1.3.2.min.js">
    </ಸ್ಕ್ರಿಪ್ಟ್>
    
    <ಸ್ಕ್ರಿಪ್ಟ್ ಕೌಟುಂಬಿಕತೆ ="text/javascript">
      $(ಕ್ರಿಯೆ() {
    
        ಎಚ್ಚರಿಕೆ(_spUserId);
    
        ಎಂದು theSecuredView = $('Iframe[FilterLink * = ಸುರಕ್ಷಿತ% 20View]');
    
        ವೇಳೆ ((theSecuredView.length > 0) && (_spUserId == 13))
          $('Iframe[FilterLink * = ಸುರಕ್ಷಿತ% 20View]').ತಂದೆ ಅಥವಾ ತಾಯಿ().ತಂದೆ ಅಥವಾ ತಾಯಿ().ತಂದೆ ಅಥವಾ ತಾಯಿ().HTML("<ಅನುವಾದ bgcolor = ಕೆಂಪು><ಟಿಡಿ>ನೀವು ಯಾವುದೇ ವೀಕ್ಷಿಸಿ!</ಟಿಡಿ></TR>");
      });
    
    </ಸ್ಕ್ರಿಪ್ಟ್>
    

ನಾನು ಒಳಗೊಂಡಿತ್ತು ಬಂದಿದೆ ಎಂದು ಎಚ್ಚರಿಕೆಯನ್ನು(_spUserId) ಈ ನಿಜವಾಗಿಯೂ ಒಂದು ನೋಟ "ಭದ್ರತೆ" ಅಲ್ಲ ಎಂಬುದನ್ನು ತೋರಿಸಲು ಅಲ್ಲಿ ಸಾಲು, but simply making it more difficult to see. More on that in a moment.

ಮೂಲತಃ, jQuery is looking for an iFrame on the page who has an attribute that contains “Secured View” in its value. Once it finds it, we check to see if the current user is “13”. If it is, ನಾವು ಒಂದು ಗೆ DOM ಮೆಟ್ಟಿಲೇರಬೇಕಾದ <ಟಿಆರ್> ಟ್ಯಾಗ್ (ಇದು ನಾನು ಮೂಲ ನೋಡುವ ಮತ್ತು ಇದು ಜಾಡು ಮೂಲಕ ಔಟ್ ಕಾಣಿಸಿಕೊಂಡಿತು) ತದನಂತರ ನನ್ನ ಸಂದೇಶವನ್ನು ಆ ಟಿಆರ್ ಟ್ಯಾಗ್ ಬದಲಿಗೆ. ನಾನು ಈ ಹೇಗೆ ದೃಢವಾಗಿದ್ದು ಗೊತ್ತಿಲ್ಲ (ನಾನು ತುಂಬಾ ಸಂಶಯಾಸ್ಪದ ಮನುಷ್ಯ, ವಾಸ್ತವವಾಗಿ), but it worked in my sandbox. If I find a better way, ನಾನು ಅದರ ಬಗ್ಗೆ ಬ್ಲಾಗ್ ಮಾಡುತ್ತೇವೆ. ಈ ಪರಿಣಾಮ:

image

ನಾನು ಸರಿ ಬಟನ್ ಕ್ಲಿಕ್ ಮಾಡಿ ಮತ್ತು ದಶಮಾಂಶ ದೊಡ್ಡ ಕೆಂಪು ಸಂದೇಶವನ್ನು ಬದಲಾಯಿಸಲಾಗುವುದು:

image

ನೀವು ಹೇಳಬಹುದು ಮಾಹಿತಿ, the way I’ve implement this “security” solution is to allow the web part to render itself. After it finishes, ನಾನು ನನ್ನ "ಇಲ್ಲ ದೃಷ್ಟಿಯಿಂದ ಅದರ ವಿಷಯ ಬದಲಿಸಿ!"ಸಂದೇಶವನ್ನು.

ಇದು ನಿಜವಾಗಿಯೂ ಒಂದು "ಸುರಕ್ಷಿತ '" ವೀಕ್ಷಿಸಿ ಅಲ್ಲ ಎಂದು ವಾಸ್ತವವಾಗಿ ಹೊರತಾಗಿಯೂ, ಇದು ಸಂಭಾವ್ಯವಾಗಿ ಬಳಸಿಕೊಳ್ಳಲು ಉಪಯೋಗಕರವಾಗಿರುತ್ತದೆ ಮತ್ತು ಕೆಲವು ಬುದ್ಧಿವಂತ ಕೆಲಸದಿಂದ ಇಲ್ಲಿದೆ, it may eventually be securable in a more formal sense. The fundamental issue is that the client is getting all the data and then, ಇದು ದಶಮಾಂಶ ಪಡೆಯುತ್ತದೆ ಮಾತ್ರ ನಂತರ, it wipes it out. If the client is getting the data, ಒಂದು ಬುದ್ಧಿವಂತ ಬಳಕೆದಾರ ಎಲ್ಲಾ ಓಡಿಸುವುದಕ್ಕೆ jQuery ತಡೆಗಟ್ಟಲು ಮತ್ತು ಅವನು / ಅವಳು ನೋಡಲು ಬಯಸುತ್ತಾರೆ ಎಂಬುದನ್ನು ನೋಡಬಹುದು.

There are other drawbacks. This “security” approach is based off a _spUserId. We’d want to really secure based on the full SharePoint security model, or at least by user name. That becomes progressively harder, ಆದರೆ ನಾನು ಈ ವಿಷಯದ ಬಗ್ಗೆ ಬರೆದ ಕೆಲವು ಒಳ್ಳೆಯ ವಿಷಯವನ್ನು ನೋಡಿ, ಆದ್ದರಿಂದ ನಾನು ಆ ಸಮಸ್ಯೆಗೆ ಉತ್ತಮ ಉತ್ತರ ಇಲ್ಲ ಭರವಸೆಯ ಮನುಷ್ಯ.

ತಮ್ಮನ್ನು ಒಪ್ಪವಾದ ಮಾಡಬೇಕು ವೀಕ್ಷಣೆಗಳು ಪಟ್ಟಿ, if possible. I haven’t tried to figure that out. I assume it’s possible, ಯಾರಾದರೂ ಇನ್ನೂ ಕೇವಲ ಅವರು ಬಯಸುವ ವೀಕ್ಷಿಸಿ URL ಅನ್ನು ಟೈಪ್ ಕಾರಣ ಆದರೆ ನಿಜವಾಗಿಯೂ ಮೂಲಭೂತ ಭದ್ರತಾ ಪರಿಹರಿಸಲು ಇಲ್ಲ (ಅವರು ಇದು ತಿಳಿದಿದ್ದರೂ). ಹೇಗಾದರೂ, trimming makes sense. It’s a good usability feature and it helps to obfuscate things. If an end user doesn’t know that the view event exists, they probably won’t try to use it. ಕೆಲವೊಮ್ಮೆ, ಸಾಕಷ್ಟು ಒಳ್ಳೆಯದು.

ಅದೃಷ್ಟ ಜೊತೆ, ನಾನು ಕಾಲಾನಂತರದಲ್ಲಿ ಈ ವಿಷಯದ ಬಗ್ಗೆ ಬರೆಯಲು ಹೆಚ್ಚು ಮಾಡುತ್ತೇವೆ.

</ಕೊನೆಯಲ್ಲಿ>

ನನ್ನ ಬ್ಲಾಗ್ ಚಂದಾದಾರರಾಗಿ.

ನಲ್ಲಿ ಟ್ವಿಟ್ಟರ್ ನನ್ನನ್ನು ಅನುಸರಿಸಿ http://www.twitter.com/pagalvin

ಒಂದು ಉತ್ತರಿಸಿ ಬಿಡಿ

ನಿಮ್ಮ ಈಮೇಲ್ ವಿಳಾಸ ರ ಆಗುವುದಿಲ್ಲ. ಅಗತ್ಯವಿರುವ ಜಾಗ ಗುರುತಿಸಲಾಗಿದೆ *