It worked perfectly!
I had to change:
$person_info = person_view($node_info->{'pid'});
into "my $person_info = ......... "
Apart from that it worked perfectly and does what i want.
Best Regards!
On Thu, Apr 7, 2011 at 9:35 PM, Olivier Bilodeau <[email protected]>wrote:
> Hi,
>
> > Yes I have read that part and also seen the code examples.
> > It does not scale well to hardcode what Vlan a user is a member of in
> thecustom.pm <http://custom.pm>.
> >
> * spoiler alert * ;)
>
> We plan to change the current Custom VLAN implementation into a
> 'strategy' pattern where in the configuration you choose your VLAN
> assignment technique and we instantiate a different object at run-time
> implementing the strategy you have chosen.
>
> custom will stay and we might add something like per-node, per-switch
> (our current default), per-ssid and per-user or something. Then in
> pf.conf under [vlan] you say something like technique=per-node and the
> per-node technique will be applied for your environment.
>
> But this is not right now, only in the future so back to your original
> question.
>
> > The problem with the code examples is that i only get a node object, and
> can do stuff on the node. That means that the
> >
> > username is what i get but i would need the whole user, so i could for
> example use the notes field of the user to send the user to
> > diffrent costomVlans.
>
> Be careful, username is only relevant to 'authenticated' connections
> like wired / wireless 802.1X otherwise username only contains the MAC or
> worse is empty (in port-security mode for instance).
>
> >
> > I probably will have to implement something that reads a flatfile with
> the usernames and customvlans, and then
> >
> > edit that flatfile for every user i add.
> >
> > Anyone out there that has done this, and has a good soloution for it?
>
> Why don't you add a 'use pf::person;' and in the custom code do
> something like this:
>
> $person_info = person_view($node_info->{'pid'});
> if (defined($person_info->{'notes'}) && $person_info->{'notes'} =~ /^\d+/)
> {
> return $person_info->{'notes'};
> }
>
> You pull the entire person record. This is only adds one SQL request per
> VLAN assignment.
>
> Make sure to handle 'invalid' notes fields and also the special case pid
> = 1 (assigned by default to all nodes not yet authenticated).
>
> If you have code specific questions, feel free to ask them over in
> packetfence-devel.
>
> Cheers!
> --
> Olivier Bilodeau
> [email protected] :: +1.514.447.4918 *115 :: www.inverse.ca
> Inverse inc. :: Leaders behind SOGo (www.sogo.nu) and PacketFence
> (www.packetfence.org)
>
>
> ------------------------------------------------------------------------------
> Xperia(TM) PLAY
> It's a major breakthrough. An authentic gaming
> smartphone on the nation's most reliable network.
> And it wants your games.
> http://p.sf.net/sfu/verizon-sfdev
> _______________________________________________
> Packetfence-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/packetfence-users
>
------------------------------------------------------------------------------
Xperia(TM) PLAY
It's a major breakthrough. An authentic gaming
smartphone on the nation's most reliable network.
And it wants your games.
http://p.sf.net/sfu/verizon-sfdev
_______________________________________________
Packetfence-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/packetfence-users