Frage : Emission von wertpapieren in der LOGON-Anwendung: ein angemeldeter Benutzer ist in der Lage, sie oder sein eigenes Profil zu redigieren

Hallo Freunde. Ich fand eine Emission von wertpapieren in meiner LOGON-Anwendung. Dieses ist die NBPTS Anwendung, die jetzt zu vielen von Ihnen im CFML Forum vertraut ist. =) ist A angemeldeter Benutzer, sie oder sein eigenes Profil zu redigieren:

http://www.nbptsprincipals .org/principal/principal_registration.cfm? UserID=160

But, indem sie einfach, im Browserspositionsfeld, den Wert UserID=160 zu einem anderen UserID ändert, kann sie andere Benutzernummern auch ansehen und redigieren!

Is dort eine Weise, Benutzernummern zu sichern? Gibt es eine Aussage, die ich der onRequestStart Funktion in application.cfc hinzufügen kann, um das Redigieren anderer Benutzernummern zu missbilligen?

The Aussage würde sagen müssen:

*, wenn angemeldeter Benutzer UserRoleID 5 hat, kann sie nur ihr UserID.

* redigieren, wenn angemeldeter Benutzer UserRoleID 3 hat, er kann Benutzernummern mit UserRoleID 5 redigieren, und sein eigenes UserID.

*, wenn angemeldeter Benutzer UserRoleID 1 hat, kann sie alles UserIDs.

How redigieren würde ich hinzufügen diese Logik meiner vorhandenen onRequestStart Funktion?

Thank Sie als immer für irgendein advice.

Eric B
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
6:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
 


     

      
      
       




  
    das isDefined  
          
                 
           
         
         
         
         
             
             
            
         
     
     
 






        
          
           
              
                
                     
                      
                        
                    
                
                
                     
                      
                        
                    
                
                 
                
             
          
       
    
    
         
      
      
      
      
  
  

    
    
         
         
                                                           
    
      
    

   
  

Antwort : Emission von wertpapieren in der LOGON-Anwendung: ein angemeldeter Benutzer ist in der Lage, sie oder sein eigenes Profil zu redigieren

Gut innen

      {33, „B“}, {22, „C“}, {22, „D“}, {44, „E“}, {22, „D“}

Sie haben dass sehr doppelte Eintragung - sie einfach entfernen, nachdem sie sortiert, z.B.
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
6:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
#include  
#include  
#include  
#include  
#include  
#include  
#include  

using namespace-Geschlechtskrankheit;

struct StudentAttempt
{
   int-Abstand;
   Schnur studentName;
};

bool cmpEntry (StudentAttempt gelassen, StudentAttempt Recht) {
   Rückholleft.distance == right.distance && left.studentName == right.studentName;
}
bool cmpAttempts (StudentAttempt gelassen, StudentAttempt Recht) {
   wenn (left.distance < right="">u. v, const StudentAttempt& sa, stringstream& SS) {

   Vektor:: const_iterator I = v.begin ();
  size_t SZ = 0;
  bool bFirst = ausrichten en;

  während (i! = v.end ()) {

    wenn (isDistEqual (*i, sa)) {
    
      wenn (! bFirst) SS <>studentName;
      ++sz;
    }

    ++i; 
    bFirst = falsch;
  }

  Rückholsz;
}
 

int-Hauptleitung () {

   StudentAttempt throwDist [] = {
      {50, „A“},      {22, „A“},      {16, „B“},      {44, „C“},
      {33, „D“},      {34, „E“},      {22, „F“},      {21, „G“},
      {49, „A“},      {5, „B“},      {2, „C“},      {22, „A“},
      {33, „B“},      {22, „C“},      {22, „D“},      {44, „E“}, {22, „D“}
   };


   Satz behandelt;

   int len = sizeof (throwDist)/sizeof (throwDist [0]);

   Vektor dist (throwDist, throwDist + len);
   Vektor:: iterator es = dist.begin ();

   Art (dist.begin (), dist.end (), cmpAttempts);

   einzigartig (dist.begin (), dist.end (), cmpEntry); // entfernt identische Duplikate vom sortierten Vektor


   für (; es! = dist.end (); it++) {

      stringstream SS;

      Paare:: iterator, bool> p = handled.insert (it->distance);

      wenn (! p.second) fortfahren ren; // bereits behandelt

      wenn (0  < printAllEqual="">
           
Weitere Lösungen  
 
programming4us programming4us